Merge "Change some small compute clients to return one value and update tests"

This commit is contained in:
Jenkins 2015-02-16 12:00:04 +00:00 committed by Gerrit Code Review
commit 17b1d10574
15 changed files with 36 additions and 46 deletions

View File

@ -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)

View File

@ -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',

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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'])

View File

@ -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()

View File

@ -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'])

View File

@ -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'])

View File

@ -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'])

View File

@ -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"])

View File

@ -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'])

View File

@ -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'])

View File

@ -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(