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