Merge "Convert Quota tests to httpretty"
This commit is contained in:
commit
7d9d15ee55
novaclient/tests
87
novaclient/tests/fixture_data/quotas.py
Normal file
87
novaclient/tests/fixture_data/quotas.py
Normal file
@ -0,0 +1,87 @@
|
||||
# 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 V1(base.Fixture):
|
||||
|
||||
base_url = 'os-quota-sets'
|
||||
|
||||
def setUp(self):
|
||||
super(V1, self).setUp()
|
||||
|
||||
uuid = '97f4c221-bff4-4578-b030-0df4ef119353'
|
||||
uuid2 = '97f4c221bff44578b0300df4ef119353'
|
||||
test_json = jsonutils.dumps({'quota_set': self.test_quota('test')})
|
||||
|
||||
for u in ('test', 'tenant-id', 'tenant-id/defaults',
|
||||
'%s/defaults' % uuid2):
|
||||
httpretty.register_uri(httpretty.GET, self.url(u),
|
||||
body=test_json,
|
||||
content_type='application/json')
|
||||
|
||||
quota_json = jsonutils.dumps({'quota_set': self.test_quota(uuid)})
|
||||
httpretty.register_uri(httpretty.PUT, self.url(uuid),
|
||||
body=quota_json,
|
||||
content_type='application/json')
|
||||
httpretty.register_uri(httpretty.GET, self.url(uuid),
|
||||
body=quota_json,
|
||||
content_type='application/json')
|
||||
|
||||
quota_json2 = jsonutils.dumps({'quota_set': self.test_quota(uuid2)})
|
||||
httpretty.register_uri(httpretty.PUT, self.url(uuid2),
|
||||
body=quota_json2,
|
||||
content_type='application/json')
|
||||
httpretty.register_uri(httpretty.GET, self.url(uuid2),
|
||||
body=quota_json2,
|
||||
content_type='application/json')
|
||||
|
||||
for u in ('test', uuid2):
|
||||
httpretty.register_uri(httpretty.DELETE, self.url(u), status=202)
|
||||
|
||||
def test_quota(self, tenant_id='test'):
|
||||
return {
|
||||
'tenant_id': tenant_id,
|
||||
'metadata_items': [],
|
||||
'injected_file_content_bytes': 1,
|
||||
'injected_file_path_bytes': 1,
|
||||
'ram': 1,
|
||||
'floating_ips': 1,
|
||||
'instances': 1,
|
||||
'injected_files': 1,
|
||||
'cores': 1,
|
||||
'keypairs': 1,
|
||||
'security_groups': 1,
|
||||
'security_group_rules': 1
|
||||
}
|
||||
|
||||
|
||||
class V3(V1):
|
||||
|
||||
def setUp(self):
|
||||
super(V3, self).setUp()
|
||||
|
||||
get_detail = {
|
||||
'quota_set': {
|
||||
'cores': {'reserved': 0, 'in_use': 0, 'limit': 10},
|
||||
'instances': {'reserved': 0, 'in_use': 4, 'limit': 50},
|
||||
'ram': {'reserved': 0, 'in_use': 1024, 'limit': 51200}
|
||||
}
|
||||
}
|
||||
|
||||
httpretty.register_uri(httpretty.GET, self.url('test', 'detail'),
|
||||
body=jsonutils.dumps(get_detail),
|
||||
content_type='application/json')
|
@ -13,39 +13,37 @@
|
||||
# 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 quotas as data
|
||||
from novaclient.tests import utils
|
||||
from novaclient.tests.v1_1 import fakes
|
||||
|
||||
|
||||
class QuotaSetsTest(utils.TestCase):
|
||||
def setUp(self):
|
||||
super(QuotaSetsTest, self).setUp()
|
||||
self.cs = self._get_fake_client()
|
||||
class QuotaSetsTest(utils.FixturedTestCase):
|
||||
|
||||
def _get_fake_client(self):
|
||||
return fakes.FakeClient()
|
||||
client_fixture_class = client.V1
|
||||
data_fixture_class = data.V1
|
||||
|
||||
def test_tenant_quotas_get(self):
|
||||
tenant_id = 'test'
|
||||
self.cs.quotas.get(tenant_id)
|
||||
self.cs.assert_called('GET', '/os-quota-sets/%s' % tenant_id)
|
||||
self.assert_called('GET', '/os-quota-sets/%s' % tenant_id)
|
||||
|
||||
def test_user_quotas_get(self):
|
||||
tenant_id = 'test'
|
||||
user_id = 'fake_user'
|
||||
self.cs.quotas.get(tenant_id, user_id=user_id)
|
||||
url = '/os-quota-sets/%s?user_id=%s' % (tenant_id, user_id)
|
||||
self.cs.assert_called('GET', url)
|
||||
self.assert_called('GET', url)
|
||||
|
||||
def test_tenant_quotas_defaults(self):
|
||||
tenant_id = '97f4c221bff44578b0300df4ef119353'
|
||||
self.cs.quotas.defaults(tenant_id)
|
||||
self.cs.assert_called('GET', '/os-quota-sets/%s/defaults' % tenant_id)
|
||||
self.assert_called('GET', '/os-quota-sets/%s/defaults' % tenant_id)
|
||||
|
||||
def test_force_update_quota(self):
|
||||
q = self.cs.quotas.get('97f4c221bff44578b0300df4ef119353')
|
||||
q.update(cores=2, force=True)
|
||||
self.cs.assert_called(
|
||||
self.assert_called(
|
||||
'PUT', '/os-quota-sets/97f4c221bff44578b0300df4ef119353',
|
||||
{'quota_set': {'force': True,
|
||||
'cores': 2,
|
||||
@ -54,11 +52,11 @@ class QuotaSetsTest(utils.TestCase):
|
||||
def test_quotas_delete(self):
|
||||
tenant_id = 'test'
|
||||
self.cs.quotas.delete(tenant_id)
|
||||
self.cs.assert_called('DELETE', '/os-quota-sets/%s' % tenant_id)
|
||||
self.assert_called('DELETE', '/os-quota-sets/%s' % tenant_id)
|
||||
|
||||
def test_user_quotas_delete(self):
|
||||
tenant_id = 'test'
|
||||
user_id = 'fake_user'
|
||||
self.cs.quotas.delete(tenant_id, user_id=user_id)
|
||||
url = '/os-quota-sets/%s?user_id=%s' % (tenant_id, user_id)
|
||||
self.cs.assert_called('DELETE', url)
|
||||
self.assert_called('DELETE', url)
|
||||
|
@ -12,22 +12,20 @@
|
||||
# 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 quotas as data
|
||||
from novaclient.tests.v1_1 import test_quotas
|
||||
from novaclient.tests.v3 import fakes
|
||||
|
||||
|
||||
class QuotaSetsTest(test_quotas.QuotaSetsTest):
|
||||
def setUp(self):
|
||||
super(QuotaSetsTest, self).setUp()
|
||||
self.cs = self._get_fake_client()
|
||||
|
||||
def _get_fake_client(self):
|
||||
return fakes.FakeClient()
|
||||
client_fixture_class = client.V3
|
||||
data_fixture_class = data.V3
|
||||
|
||||
def test_force_update_quota(self):
|
||||
q = self.cs.quotas.get('97f4c221bff44578b0300df4ef119353')
|
||||
q.update(cores=2, force=True)
|
||||
self.cs.assert_called(
|
||||
self.assert_called(
|
||||
'PUT', '/os-quota-sets/97f4c221bff44578b0300df4ef119353',
|
||||
{'quota_set': {'force': True,
|
||||
'cores': 2}})
|
||||
@ -35,11 +33,11 @@ class QuotaSetsTest(test_quotas.QuotaSetsTest):
|
||||
def test_tenant_quotas_get_detail(self):
|
||||
tenant_id = 'test'
|
||||
self.cs.quotas.get(tenant_id, detail=True)
|
||||
self.cs.assert_called('GET', '/os-quota-sets/%s/detail' % tenant_id)
|
||||
self.assert_called('GET', '/os-quota-sets/%s/detail' % tenant_id)
|
||||
|
||||
def test_user_quotas_get_detail(self):
|
||||
tenant_id = 'test'
|
||||
user_id = 'fake_user'
|
||||
self.cs.quotas.get(tenant_id, user_id=user_id, detail=True)
|
||||
url = '/os-quota-sets/%s/detail?user_id=%s' % (tenant_id, user_id)
|
||||
self.cs.assert_called('GET', url)
|
||||
self.assert_called('GET', url)
|
||||
|
Loading…
x
Reference in New Issue
Block a user