added tests, updated pep8 fixes

This commit is contained in:
William Wolf
2011-07-21 12:19:09 -04:00
parent 822b5ecede
commit a57504ef9a
2 changed files with 91 additions and 1 deletions

View File

@@ -28,7 +28,6 @@ ATOM_XMLNS = "http://www.w3.org/2005/Atom"
class Versions(wsgi.Resource):
def __init__(self):
metadata = {
"attributes": {

View File

@@ -21,6 +21,7 @@ import webob
from nova import context
from nova import test
from nova.tests.api.openstack import fakes
from nova.api.openstack import versions
from nova.api.openstack import views
@@ -161,3 +162,93 @@ class VersionsTest(test.TestCase):
actual = builder.generate_href(version_number)
self.assertEqual(actual, expected)
def test_xml_serializer(self):
versions_data = {
'versions': [
{
"id": "2.7.1",
"updated": "2011-07-18T11:30:00Z",
"status": "DEPRECATED",
"links": [
{
"rel": "self",
"href": "http://test/2.7.1",
}
],
},
]
}
expected = """
<versions>
<version id="2.7.1" status="DEPRECATED"
updated="2011-07-18T11:30:00Z">
<atom:link href="http://test/2.7.1" rel="self"/>
</version>
</versions>""".replace(" ", "").replace("\n", "")
serializer = versions.VersionsXMLSerializer()
response = serializer.default(versions_data)
response = response.replace(" ", "").replace("\n", "")
self.assertEqual(expected, response)
def test_atom_serializer(self):
versions_data = {
'versions': [
{
"id": "2.9.8",
"updated": "2011-07-20T11:40:00Z",
"status": "CURRENT",
"links": [
{
"rel": "self",
"href": "http://test/2.9.8",
}
],
},
]
}
expected = """
<feed xmlns="http://www.w3.org/2005/Atom">
<title type="text">
Available API Versions
</title>
<updated>
2011-07-20T11:40:00Z
</updated>
<id>
http://test/
</id>
<author>
<name>
Rackspace
</name>
<uri>
http://www.rackspace.com/
</uri>
</author>
<link href="http://test/" rel="self"/>
<entry>
<id>
http://test/2.9.8
</id>
<title type="text">
Version 2.9.8
</title>
<updated>
2011-07-20T11:40:00Z
</updated>
<link href="http://test/2.9.8" rel="self"/>
<content type="text">
Version 2.9.8 CURRENT (2011-07-20T11:40:00Z)
</content>
</entry>
</feed>""".replace(" ", "").replace("\n", "")
serializer = versions.VersionsAtomSerializer()
response = serializer.default(versions_data)
print response
response = response.replace(" ", "").replace("\n", "")
self.assertEqual(expected, response)