diff --git a/novaclient/tests/fixture_data/limits.py b/novaclient/tests/fixture_data/limits.py new file mode 100644 index 000000000..5eca22e4d --- /dev/null +++ b/novaclient/tests/fixture_data/limits.py @@ -0,0 +1,82 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import httpretty + +from novaclient.openstack.common import jsonutils +from novaclient.tests.fixture_data import base + + +class Fixture(base.Fixture): + + base_url = 'limits' + + def setUp(self): + super(Fixture, self).setUp() + + get_limits = { + "limits": { + "rate": [ + { + "uri": "*", + "regex": ".*", + "limit": [ + { + "value": 10, + "verb": "POST", + "remaining": 2, + "unit": "MINUTE", + "next-available": "2011-12-15T22:42:45Z" + }, + { + "value": 10, + "verb": "PUT", + "remaining": 2, + "unit": "MINUTE", + "next-available": "2011-12-15T22:42:45Z" + }, + { + "value": 100, + "verb": "DELETE", + "remaining": 100, + "unit": "MINUTE", + "next-available": "2011-12-15T22:42:45Z" + } + ] + }, + { + "uri": "*/servers", + "regex": "^/servers", + "limit": [ + { + "verb": "POST", + "value": 25, + "remaining": 24, + "unit": "DAY", + "next-available": "2011-12-15T22:42:45Z" + } + ] + } + ], + "absolute": { + "maxTotalRAMSize": 51200, + "maxServerMeta": 5, + "maxImageMeta": 5, + "maxPersonality": 5, + "maxPersonalitySize": 10240 + }, + }, + } + + httpretty.register_uri(httpretty.GET, self.url(), + body=jsonutils.dumps(get_limits), + content_type='application/json') diff --git a/novaclient/tests/v1_1/test_limits.py b/novaclient/tests/v1_1/test_limits.py index 7561aa4ff..212be4549 100644 --- a/novaclient/tests/v1_1/test_limits.py +++ b/novaclient/tests/v1_1/test_limits.py @@ -11,28 +11,29 @@ # License for the specific language governing permissions and limitations # under the License. +from novaclient.tests.fixture_data import client +from novaclient.tests.fixture_data import limits as data from novaclient.tests import utils -from novaclient.tests.v1_1 import fakes from novaclient.v1_1 import limits -cs = fakes.FakeClient() +class LimitsTest(utils.FixturedTestCase): - -class LimitsTest(utils.TestCase): + client_fixture_class = client.V1 + data_fixture_class = data.Fixture def test_get_limits(self): - obj = cs.limits.get() - cs.assert_called('GET', '/limits') + obj = self.cs.limits.get() + self.assert_called('GET', '/limits') self.assertIsInstance(obj, limits.Limits) def test_get_limits_for_a_tenant(self): - obj = cs.limits.get(tenant_id=1234) - cs.assert_called('GET', '/limits?tenant_id=1234') + obj = self.cs.limits.get(tenant_id=1234) + self.assert_called('GET', '/limits?tenant_id=1234') self.assertIsInstance(obj, limits.Limits) def test_absolute_limits(self): - obj = cs.limits.get() + obj = self.cs.limits.get() expected = ( limits.AbsoluteLimit("maxTotalRAMSize", 51200), @@ -49,7 +50,7 @@ class LimitsTest(utils.TestCase): self.assertTrue(limit in expected) def test_absolute_limits_reserved(self): - obj = cs.limits.get(reserved=True) + obj = self.cs.limits.get(reserved=True) expected = ( limits.AbsoluteLimit("maxTotalRAMSize", 51200), @@ -59,7 +60,7 @@ class LimitsTest(utils.TestCase): limits.AbsoluteLimit("maxPersonalitySize", 10240), ) - cs.assert_called('GET', '/limits?reserved=1') + self.assert_called('GET', '/limits?reserved=1') abs_limits = list(obj.absolute) self.assertEqual(len(abs_limits), len(expected)) @@ -67,7 +68,7 @@ class LimitsTest(utils.TestCase): self.assertTrue(limit in expected) def test_rate_limits(self): - obj = cs.limits.get() + obj = self.cs.limits.get() expected = ( limits.RateLimit('POST', '*', '.*', 10, 2, 'MINUTE',