Change some small compute clients to return one value and update tests
This includes availability_zone, certificates, extensions, instance_usage, migrations, tenant_usages. Partially implements: blueprint clients-return-one-value Change-Id: I2a8ec52e177c865de1f159f556aa7adcf5ef0399
This commit is contained in:
parent
e290f3eec4
commit
5cf4ba41b2
@ -31,14 +31,11 @@ class AZAdminV2TestJSON(base.BaseComputeAdminTest):
|
||||
@test.attr(type='gate')
|
||||
def test_get_availability_zone_list(self):
|
||||
# List of availability zone
|
||||
resp, availability_zone = self.client.get_availability_zone_list()
|
||||
self.assertEqual(200, resp.status)
|
||||
availability_zone = self.client.get_availability_zone_list()
|
||||
self.assertTrue(len(availability_zone) > 0)
|
||||
|
||||
@test.attr(type='gate')
|
||||
def test_get_availability_zone_list_detail(self):
|
||||
# List of availability zones and available services
|
||||
resp, availability_zone = \
|
||||
self.client.get_availability_zone_list_detail()
|
||||
self.assertEqual(200, resp.status)
|
||||
availability_zone = self.client.get_availability_zone_list_detail()
|
||||
self.assertTrue(len(availability_zone) > 0)
|
||||
|
@ -30,8 +30,7 @@ class InstanceUsageAuditLogTestJSON(base.BaseV2ComputeAdminTest):
|
||||
@test.attr(type='gate')
|
||||
def test_list_instance_usage_audit_logs(self):
|
||||
# list instance usage audit logs
|
||||
resp, body = self.adm_client.list_instance_usage_audit_logs()
|
||||
self.assertEqual(200, resp.status)
|
||||
body = self.adm_client.list_instance_usage_audit_logs()
|
||||
expected_items = ['total_errors', 'total_instances', 'log',
|
||||
'num_hosts_running', 'num_hosts_done',
|
||||
'num_hosts', 'hosts_not_run', 'overall_status',
|
||||
@ -44,10 +43,9 @@ class InstanceUsageAuditLogTestJSON(base.BaseV2ComputeAdminTest):
|
||||
def test_get_instance_usage_audit_log(self):
|
||||
# Get instance usage audit log before specified time
|
||||
now = datetime.datetime.now()
|
||||
resp, body = self.adm_client.get_instance_usage_audit_log(
|
||||
body = self.adm_client.get_instance_usage_audit_log(
|
||||
urllib.quote(now.strftime("%Y-%m-%d %H:%M:%S")))
|
||||
|
||||
self.assertEqual(200, resp.status)
|
||||
expected_items = ['total_errors', 'total_instances', 'log',
|
||||
'num_hosts_running', 'num_hosts_done', 'num_hosts',
|
||||
'hosts_not_run', 'overall_status', 'period_ending',
|
||||
|
@ -31,8 +31,7 @@ class MigrationsAdminTest(base.BaseV2ComputeAdminTest):
|
||||
@test.attr(type='gate')
|
||||
def test_list_migrations(self):
|
||||
# Admin can get the migrations list
|
||||
resp, _ = self.client.list_migrations()
|
||||
self.assertEqual(200, resp.status)
|
||||
self.client.list_migrations()
|
||||
|
||||
@testtools.skipUnless(CONF.compute_feature_enabled.resize,
|
||||
'Resize not available.')
|
||||
@ -48,8 +47,7 @@ class MigrationsAdminTest(base.BaseV2ComputeAdminTest):
|
||||
self.servers_client.confirm_resize(server_id)
|
||||
self.servers_client.wait_for_server_status(server_id, 'ACTIVE')
|
||||
|
||||
resp, body = self.client.list_migrations()
|
||||
self.assertEqual(200, resp.status)
|
||||
body = self.client.list_migrations()
|
||||
|
||||
instance_uuids = [x['instance_uuid'] for x in body]
|
||||
self.assertIn(server_id, instance_uuids)
|
||||
|
@ -48,8 +48,7 @@ class TenantUsagesTestJSON(base.BaseV2ComputeAdminTest):
|
||||
params = {'start': self.start,
|
||||
'end': self.end,
|
||||
'detailed': int(bool(True))}
|
||||
resp, tenant_usage = self.adm_client.list_tenant_usages(params)
|
||||
self.assertEqual(200, resp.status)
|
||||
tenant_usage = self.adm_client.list_tenant_usages(params)
|
||||
self.assertEqual(len(tenant_usage), 8)
|
||||
|
||||
@test.attr(type='gate')
|
||||
@ -57,10 +56,9 @@ class TenantUsagesTestJSON(base.BaseV2ComputeAdminTest):
|
||||
# Get usage for a specific tenant
|
||||
params = {'start': self.start,
|
||||
'end': self.end}
|
||||
resp, tenant_usage = self.adm_client.get_tenant_usage(
|
||||
tenant_usage = self.adm_client.get_tenant_usage(
|
||||
self.tenant_id, params)
|
||||
|
||||
self.assertEqual(200, resp.status)
|
||||
self.assertEqual(len(tenant_usage), 8)
|
||||
|
||||
@test.attr(type='gate')
|
||||
@ -68,8 +66,7 @@ class TenantUsagesTestJSON(base.BaseV2ComputeAdminTest):
|
||||
# Get usage for a specific tenant with non admin user
|
||||
params = {'start': self.start,
|
||||
'end': self.end}
|
||||
resp, tenant_usage = self.client.get_tenant_usage(
|
||||
tenant_usage = self.client.get_tenant_usage(
|
||||
self.tenant_id, params)
|
||||
|
||||
self.assertEqual(200, resp.status)
|
||||
self.assertEqual(len(tenant_usage), 8)
|
||||
|
@ -24,14 +24,13 @@ class CertificatesV2TestJSON(base.BaseComputeTest):
|
||||
@test.attr(type='gate')
|
||||
def test_create_root_certificate(self):
|
||||
# create certificates
|
||||
resp, body = self.certificates_client.create_certificate()
|
||||
body = self.certificates_client.create_certificate()
|
||||
self.assertIn('data', body)
|
||||
self.assertIn('private_key', body)
|
||||
|
||||
@test.attr(type='gate')
|
||||
def test_get_root_certificate(self):
|
||||
# get the root certificate
|
||||
resp, body = self.certificates_client.get_certificate('root')
|
||||
self.assertEqual(200, resp.status)
|
||||
body = self.certificates_client.get_certificate('root')
|
||||
self.assertIn('data', body)
|
||||
self.assertIn('private_key', body)
|
||||
|
@ -31,6 +31,5 @@ class AZV2TestJSON(base.BaseComputeTest):
|
||||
@test.attr(type='gate')
|
||||
def test_get_availability_zone_list_with_non_admin_user(self):
|
||||
# List of availability zone with non-administrator user
|
||||
resp, availability_zone = self.client.get_availability_zone_list()
|
||||
self.assertEqual(200, resp.status)
|
||||
availability_zone = self.client.get_availability_zone_list()
|
||||
self.assertTrue(len(availability_zone) > 0)
|
||||
|
@ -32,8 +32,7 @@ class ExtensionsTestJSON(base.BaseV2ComputeTest):
|
||||
# List of all extensions
|
||||
if len(CONF.compute_feature_enabled.api_extensions) == 0:
|
||||
raise self.skipException('There are not any extensions configured')
|
||||
resp, extensions = self.extensions_client.list_extensions()
|
||||
self.assertEqual(200, resp.status)
|
||||
extensions = self.extensions_client.list_extensions()
|
||||
ext = CONF.compute_feature_enabled.api_extensions[0]
|
||||
if ext == 'all':
|
||||
self.assertIn('Hosts', map(lambda x: x['name'], extensions))
|
||||
@ -49,6 +48,5 @@ class ExtensionsTestJSON(base.BaseV2ComputeTest):
|
||||
@test.attr(type='gate')
|
||||
def test_get_extension(self):
|
||||
# get the specified extensions
|
||||
resp, extension = self.extensions_client.get_extension('os-consoles')
|
||||
self.assertEqual(200, resp.status)
|
||||
extension = self.extensions_client.get_extension('os-consoles')
|
||||
self.assertEqual('os-consoles', extension['alias'])
|
||||
|
@ -154,7 +154,7 @@ def get_enabled_extensions(service):
|
||||
|
||||
def verify_extensions(os, service, results):
|
||||
extensions_client = get_extension_client(os, service)
|
||||
if service == 'neutron' or service == 'cinder':
|
||||
if service != 'swift':
|
||||
resp = extensions_client.list_extensions()
|
||||
else:
|
||||
__, resp = extensions_client.list_extensions()
|
||||
|
@ -25,11 +25,13 @@ class AvailabilityZoneClientJSON(service_client.ServiceClient):
|
||||
resp, body = self.get('os-availability-zone')
|
||||
body = json.loads(body)
|
||||
self.validate_response(schema.get_availability_zone_list, resp, body)
|
||||
return resp, body['availabilityZoneInfo']
|
||||
return service_client.ResponseBodyList(resp,
|
||||
body['availabilityZoneInfo'])
|
||||
|
||||
def get_availability_zone_list_detail(self):
|
||||
resp, body = self.get('os-availability-zone/detail')
|
||||
body = json.loads(body)
|
||||
self.validate_response(schema.get_availability_zone_list_detail, resp,
|
||||
body)
|
||||
return resp, body['availabilityZoneInfo']
|
||||
return service_client.ResponseBodyList(resp,
|
||||
body['availabilityZoneInfo'])
|
||||
|
@ -27,7 +27,7 @@ class CertificatesClientJSON(service_client.ServiceClient):
|
||||
resp, body = self.get(url)
|
||||
body = json.loads(body)
|
||||
self.validate_response(schema.get_certificate, resp, body)
|
||||
return resp, body['certificate']
|
||||
return service_client.ResponseBody(resp, body['certificate'])
|
||||
|
||||
def create_certificate(self):
|
||||
"""create certificates."""
|
||||
@ -35,4 +35,4 @@ class CertificatesClientJSON(service_client.ServiceClient):
|
||||
resp, body = self.post(url, None)
|
||||
body = json.loads(body)
|
||||
self.validate_response(v2schema.create_certificate, resp, body)
|
||||
return resp, body['certificate']
|
||||
return service_client.ResponseBody(resp, body['certificate'])
|
||||
|
@ -26,14 +26,14 @@ class ExtensionsClientJSON(service_client.ServiceClient):
|
||||
resp, body = self.get(url)
|
||||
body = json.loads(body)
|
||||
self.validate_response(schema.list_extensions, resp, body)
|
||||
return resp, body['extensions']
|
||||
return service_client.ResponseBodyList(resp, body['extensions'])
|
||||
|
||||
def is_enabled(self, extension):
|
||||
_, extensions = self.list_extensions()
|
||||
extensions = self.list_extensions()
|
||||
exts = extensions['extensions']
|
||||
return any([e for e in exts if e['name'] == extension])
|
||||
|
||||
def get_extension(self, extension_alias):
|
||||
resp, body = self.get('extensions/%s' % extension_alias)
|
||||
body = json.loads(body)
|
||||
return resp, body['extension']
|
||||
return service_client.ResponseBody(resp, body['extension'])
|
||||
|
@ -28,11 +28,13 @@ class InstanceUsagesAuditLogClientJSON(service_client.ServiceClient):
|
||||
body = json.loads(body)
|
||||
self.validate_response(schema.list_instance_usage_audit_log,
|
||||
resp, body)
|
||||
return resp, body["instance_usage_audit_logs"]
|
||||
return service_client.ResponseBody(resp,
|
||||
body["instance_usage_audit_logs"])
|
||||
|
||||
def get_instance_usage_audit_log(self, time_before):
|
||||
url = 'os-instance_usage_audit_log/%s' % time_before
|
||||
resp, body = self.get(url)
|
||||
body = json.loads(body)
|
||||
self.validate_response(schema.get_instance_usage_audit_log, resp, body)
|
||||
return resp, body["instance_usage_audit_log"]
|
||||
return service_client.ResponseBody(resp,
|
||||
body["instance_usage_audit_log"])
|
||||
|
@ -31,4 +31,4 @@ class MigrationsClientJSON(service_client.ServiceClient):
|
||||
resp, body = self.get(url)
|
||||
body = json.loads(body)
|
||||
self.validate_response(schema.list_migrations, resp, body)
|
||||
return resp, body['migrations']
|
||||
return service_client.ResponseBodyList(resp, body['migrations'])
|
||||
|
@ -30,7 +30,7 @@ class TenantUsagesClientJSON(service_client.ServiceClient):
|
||||
resp, body = self.get(url)
|
||||
body = json.loads(body)
|
||||
self.validate_response(schema.list_tenant, resp, body)
|
||||
return resp, body['tenant_usages'][0]
|
||||
return service_client.ResponseBodyList(resp, body['tenant_usages'][0])
|
||||
|
||||
def get_tenant_usage(self, tenant_id, params=None):
|
||||
url = 'os-simple-tenant-usage/%s' % tenant_id
|
||||
@ -40,4 +40,4 @@ class TenantUsagesClientJSON(service_client.ServiceClient):
|
||||
resp, body = self.get(url)
|
||||
body = json.loads(body)
|
||||
self.validate_response(schema.get_tenant, resp, body)
|
||||
return resp, body['tenant_usage']
|
||||
return service_client.ResponseBodyList(resp, body['tenant_usage'])
|
||||
|
@ -282,8 +282,8 @@ class TestDiscovery(base.TestCase):
|
||||
|
||||
def test_verify_extensions_nova(self):
|
||||
def fake_list_extensions():
|
||||
return (None, [{'alias': 'fake1'}, {'alias': 'fake2'},
|
||||
{'alias': 'not_fake'}])
|
||||
return ([{'alias': 'fake1'}, {'alias': 'fake2'},
|
||||
{'alias': 'not_fake'}])
|
||||
fake_os = mock.MagicMock()
|
||||
fake_os.extensions_client.list_extensions = fake_list_extensions
|
||||
self.useFixture(mockpatch.PatchObject(
|
||||
@ -303,9 +303,9 @@ class TestDiscovery(base.TestCase):
|
||||
|
||||
def test_verify_extensions_nova_all(self):
|
||||
def fake_list_extensions():
|
||||
return (None, {'extensions': [{'alias': 'fake1'},
|
||||
{'alias': 'fake2'},
|
||||
{'alias': 'not_fake'}]})
|
||||
return ({'extensions': [{'alias': 'fake1'},
|
||||
{'alias': 'fake2'},
|
||||
{'alias': 'not_fake'}]})
|
||||
fake_os = mock.MagicMock()
|
||||
fake_os.extensions_client.list_extensions = fake_list_extensions
|
||||
self.useFixture(mockpatch.PatchObject(
|
||||
|
Loading…
Reference in New Issue
Block a user