summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-03-25 22:00:48 +0000
committerGerrit Code Review <review@openstack.org>2012-03-25 22:00:48 +0000
commite29248862785d0d248c72dc3cd059731a4e8cdae (patch)
treec69b0158e84433338f50aaafe3b66be599bd4ab1 /nova
parent0c75d24e625f82ad946c1b8f905447058d94d9a5 (diff)
parentaa29a67d5cecfa320f98fa9989bf0b9179240016 (diff)
downloadnova-e29248862785d0d248c72dc3cd059731a4e8cdae.tar.gz
nova-e29248862785d0d248c72dc3cd059731a4e8cdae.tar.xz
nova-e29248862785d0d248c72dc3cd059731a4e8cdae.zip
Merge "makes volume versions display properly"
Diffstat (limited to 'nova')
-rw-r--r--nova/api/openstack/volume/versions.py22
-rw-r--r--nova/tests/api/openstack/volume/test_router.py9
2 files changed, 22 insertions, 9 deletions
diff --git a/nova/api/openstack/volume/versions.py b/nova/api/openstack/volume/versions.py
index f1c39a59c..68d34b1f9 100644
--- a/nova/api/openstack/volume/versions.py
+++ b/nova/api/openstack/volume/versions.py
@@ -56,15 +56,19 @@ VERSIONS = {
class Versions(versions.Versions):
- def dispatch(self, request, *args):
- """Respond to a request for all OpenStack API versions."""
- builder = views_versions.get_view_builder(request)
- if request.path == '/':
- # List Versions
- return builder.build_versions(VERSIONS)
- else:
- # Versions Multiple Choice
- return builder.build_choices(VERSIONS, request)
+ @wsgi.serializers(xml=versions.VersionsTemplate,
+ atom=versions.VersionsAtomSerializer)
+ def index(self, req):
+ """Return all versions."""
+ builder = views_versions.get_view_builder(req)
+ return builder.build_versions(VERSIONS)
+
+ @wsgi.serializers(xml=versions.ChoicesTemplate)
+ @wsgi.response(300)
+ def multi(self, req):
+ """Return multiple choices."""
+ builder = views_versions.get_view_builder(req)
+ return builder.build_choices(VERSIONS, req)
class VolumeVersionV1(object):
diff --git a/nova/tests/api/openstack/volume/test_router.py b/nova/tests/api/openstack/volume/test_router.py
index 1f37ab7a1..8d6cf1e78 100644
--- a/nova/tests/api/openstack/volume/test_router.py
+++ b/nova/tests/api/openstack/volume/test_router.py
@@ -17,6 +17,7 @@
from nova.api.openstack import volume
from nova.api.openstack.volume import snapshots
from nova.api.openstack.volume import volumes
+from nova.api.openstack.volume import versions
from nova.api.openstack import wsgi
from nova import flags
from nova import log as logging
@@ -60,6 +61,14 @@ class VolumeRouterTestCase(test.TestCase):
response = req.get_response(self.app)
self.assertEqual(200, response.status_int)
+ def test_versions_dispatch(self):
+ req = fakes.HTTPRequest.blank('/')
+ req.method = 'GET'
+ req.content_type = 'application/json'
+ resource = versions.Versions()
+ result = resource.dispatch(resource.index, req, {})
+ self.assertTrue(result)
+
def test_volumes(self):
req = fakes.HTTPRequest.blank('/fake/volumes')
req.method = 'GET'