From f5212a583188e0aa0e5c7c960b43231085dd9545 Mon Sep 17 00:00:00 2001 From: Giampaolo Lauria Date: Fri, 15 Mar 2013 18:59:49 -0400 Subject: Add standard methods to the Limits API - Added create, delete, detail, show, and update stubs to the Limits API - Added unit test cases Fixes bug 869877 Change-Id: I112a8016ff2cf83009b3bcfe2fe6307568ce7334 --- nova/api/openstack/compute/limits.py | 28 +++++++++++++++++++------ nova/tests/api/openstack/compute/test_limits.py | 27 ++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 6 deletions(-) diff --git a/nova/api/openstack/compute/limits.py b/nova/api/openstack/compute/limits.py index 2f69d5737..07e791306 100644 --- a/nova/api/openstack/compute/limits.py +++ b/nova/api/openstack/compute/limits.py @@ -75,15 +75,11 @@ class LimitsTemplate(xmlutil.TemplateBuilder): class LimitsController(object): - """ - Controller for accessing limits in the OpenStack API. - """ + """Controller for accessing limits in the OpenStack API.""" @wsgi.serializers(xml=LimitsTemplate) def index(self, req): - """ - Return all global and rate limit information. - """ + """Return all global and rate limit information.""" context = req.environ['nova.context'] quotas = QUOTAS.get_project_quotas(context, context.project_id, usages=False) @@ -93,6 +89,26 @@ class LimitsController(object): builder = self._get_view_builder(req) return builder.build(rate_limits, abs_limits) + def create(self, req, body): + """Create a new limit.""" + raise webob.exc.HTTPNotImplemented() + + def delete(self, req, id): + """Delete the limit.""" + raise webob.exc.HTTPNotImplemented() + + def detail(self, req): + """Return limit details.""" + raise webob.exc.HTTPNotImplemented() + + def show(self, req, id): + """Show limit information.""" + raise webob.exc.HTTPNotImplemented() + + def update(self, req, id, body): + """Update existing limit.""" + raise webob.exc.HTTPNotImplemented() + def _get_view_builder(self, req): return limits_views.ViewBuilder() diff --git a/nova/tests/api/openstack/compute/test_limits.py b/nova/tests/api/openstack/compute/test_limits.py index 70c37e745..e51601e31 100644 --- a/nova/tests/api/openstack/compute/test_limits.py +++ b/nova/tests/api/openstack/compute/test_limits.py @@ -30,6 +30,7 @@ from nova.api.openstack import xmlutil import nova.context from nova.openstack.common import jsonutils from nova import test +from nova.tests.api.openstack import fakes from nova.tests import matchers @@ -76,6 +77,7 @@ class LimitsControllerTest(BaseLimitTestSuite): """Run before each test.""" super(LimitsControllerTest, self).setUp() self.controller = limits.create_resource() + self.ctrler = limits.LimitsController() def _get_index_request(self, accept_header="application/json"): """Helper to set routing arguments.""" @@ -284,6 +286,31 @@ class LimitsControllerTest(BaseLimitTestSuite): } self._test_index_absolute_limits_json(expected) + def test_limit_create(self): + req = fakes.HTTPRequest.blank('/v2/fake/limits') + self.assertRaises(webob.exc.HTTPNotImplemented, self.ctrler.create, + req, {}) + + def test_limit_delete(self): + req = fakes.HTTPRequest.blank('/v2/fake/limits') + self.assertRaises(webob.exc.HTTPNotImplemented, self.ctrler.delete, + req, 1) + + def test_limit_detail(self): + req = fakes.HTTPRequest.blank('/v2/fake/limits') + self.assertRaises(webob.exc.HTTPNotImplemented, self.ctrler.detail, + req) + + def test_limit_show(self): + req = fakes.HTTPRequest.blank('/v2/fake/limits') + self.assertRaises(webob.exc.HTTPNotImplemented, self.ctrler.show, + req, 1) + + def test_limit_update(self): + req = fakes.HTTPRequest.blank('/v2/fake/limits') + self.assertRaises(webob.exc.HTTPNotImplemented, self.ctrler.update, + req, 1, {}) + class TestLimiter(limits.Limiter): pass -- cgit