Merge "UT: cleanup in API test cases for response attr verification"
This commit is contained in:
commit
16b2594bf6
|
@ -56,6 +56,14 @@ class FunctionalTest(base.DbTestCase):
|
|||
self._check_version = p.start()
|
||||
self.addCleanup(p.stop)
|
||||
|
||||
def _verify_attrs(self, attrs, response, positive=True):
|
||||
if positive is True:
|
||||
verify_method = self.assertIn
|
||||
else:
|
||||
verify_method = self.assertNotIn
|
||||
for attr in attrs:
|
||||
verify_method(attr, response)
|
||||
|
||||
def _make_app(self, enable_acl=False):
|
||||
# Determine where we are so we can set up paths in the config
|
||||
root_dir = self.get_path()
|
||||
|
|
|
@ -44,6 +44,14 @@ class TestBayObject(base.TestCase):
|
|||
|
||||
class TestListBay(api_base.FunctionalTest):
|
||||
|
||||
_bay_attrs = ("name", "baymodel_id", "node_count", "status",
|
||||
"master_count", "stack_id", "bay_create_timeout")
|
||||
|
||||
_expand_bay_attrs = ("name", "baymodel_id", "node_count", "status",
|
||||
"api_address", "discovery_url", "node_addresses",
|
||||
"master_count", "master_addresses", "stack_id",
|
||||
"bay_create_timeout", "status_reason")
|
||||
|
||||
def setUp(self):
|
||||
super(TestListBay, self).setUp()
|
||||
obj_utils.create_test_baymodel(self.context)
|
||||
|
@ -56,27 +64,23 @@ class TestListBay(api_base.FunctionalTest):
|
|||
bay = obj_utils.create_test_bay(self.context)
|
||||
response = self.get_json('/bays')
|
||||
self.assertEqual(bay.uuid, response['bays'][0]["uuid"])
|
||||
for key in ("name", "baymodel_id", "node_count", "status",
|
||||
"master_count"):
|
||||
self.assertIn(key, response['bays'][0])
|
||||
self._verify_attrs(self._bay_attrs, response['bays'][0])
|
||||
|
||||
# Verify atts that should not appear from bay's get_all response
|
||||
none_attrs = set(self._expand_bay_attrs) - set(self._bay_attrs)
|
||||
self._verify_attrs(none_attrs, response['bays'][0], positive=False)
|
||||
|
||||
def test_get_one(self):
|
||||
bay = obj_utils.create_test_bay(self.context)
|
||||
response = self.get_json('/bays/%s' % bay['uuid'])
|
||||
self.assertEqual(bay.uuid, response['uuid'])
|
||||
for key in ("name", "baymodel_id", "node_count", "status",
|
||||
"api_address", "discovery_url", "node_addresses",
|
||||
"master_count", "master_addresses", "stack_id"):
|
||||
self.assertIn(key, response)
|
||||
self._verify_attrs(self._expand_bay_attrs, response)
|
||||
|
||||
def test_get_one_by_name(self):
|
||||
bay = obj_utils.create_test_bay(self.context)
|
||||
response = self.get_json('/bays/%s' % bay['name'])
|
||||
self.assertEqual(bay.uuid, response['uuid'])
|
||||
for key in ("name", "baymodel_id", "node_count", "status",
|
||||
"api_address", "discovery_url", "node_addresses",
|
||||
"master_count", "master_addresses", "stack_id"):
|
||||
self.assertIn(key, response)
|
||||
self._verify_attrs(self._expand_bay_attrs, response)
|
||||
|
||||
def test_get_one_by_name_not_found(self):
|
||||
response = self.get_json(
|
||||
|
@ -112,9 +116,7 @@ class TestListBay(api_base.FunctionalTest):
|
|||
bay = obj_utils.create_test_bay(self.context)
|
||||
response = self.get_json('/bays/detail')
|
||||
self.assertEqual(bay.uuid, response['bays'][0]["uuid"])
|
||||
for key in ("name", "baymodel_id", "node_count", "status",
|
||||
"master_count"):
|
||||
self.assertIn(key, response['bays'][0])
|
||||
self._verify_attrs(self._expand_bay_attrs, response['bays'][0])
|
||||
|
||||
def test_detail_with_pagination_marker(self):
|
||||
bay_list = []
|
||||
|
@ -127,10 +129,7 @@ class TestListBay(api_base.FunctionalTest):
|
|||
% bay_list[2].uuid)
|
||||
self.assertEqual(1, len(response['bays']))
|
||||
self.assertEqual(bay_list[-1].uuid, response['bays'][0]['uuid'])
|
||||
for key in ("name", "baymodel_id", "node_count", "status",
|
||||
"discovery_url", "api_address", "node_addresses",
|
||||
"master_addresses", "stack_id"):
|
||||
self.assertIn(key, response['bays'][0])
|
||||
self._verify_attrs(self._expand_bay_attrs, response['bays'][0])
|
||||
|
||||
def test_detail_against_single(self):
|
||||
bay = obj_utils.create_test_bay(self.context)
|
||||
|
|
|
@ -41,6 +41,19 @@ class TestBayModelObject(base.TestCase):
|
|||
|
||||
class TestListBayModel(api_base.FunctionalTest):
|
||||
|
||||
_baymodel_attrs = ('apiserver_port', 'name', 'tls_disabled',
|
||||
'registry_enabled', 'image_id', 'coe', 'server_type',
|
||||
'public',)
|
||||
_expand_baymodel_attrs = ('name', 'apiserver_port', 'network_driver',
|
||||
'coe', 'flavor_id', 'fixed_network',
|
||||
'dns_nameserver', 'http_proxy',
|
||||
'docker_volume_size', 'server_type',
|
||||
'cluster_distro', 'external_network_id',
|
||||
'image_id', 'registry_enabled', 'no_proxy',
|
||||
'keypair_id', 'https_proxy', 'tls_disabled',
|
||||
'public', 'labels', 'ssh_authorized_key',
|
||||
'master_flavor_id',)
|
||||
|
||||
def test_empty(self):
|
||||
response = self.get_json('/baymodels')
|
||||
self.assertEqual([], response['baymodels'])
|
||||
|
@ -49,56 +62,25 @@ class TestListBayModel(api_base.FunctionalTest):
|
|||
baymodel = obj_utils.create_test_baymodel(self.context)
|
||||
response = self.get_json('/baymodels')
|
||||
self.assertEqual(baymodel.uuid, response['baymodels'][0]["uuid"])
|
||||
self.assertNotIn('flavor_id', response['baymodels'][0])
|
||||
self.assertNotIn('master_flavor_id', response['baymodels'][0])
|
||||
self.assertNotIn('dns_nameserver', response['baymodels'][0])
|
||||
self.assertNotIn('keypair_id', response['baymodels'][0])
|
||||
self.assertNotIn('external_network_id', response['baymodels'][0])
|
||||
self.assertNotIn('fixed_network', response['baymodels'][0])
|
||||
self.assertNotIn('network_driver', response['baymodels'][0])
|
||||
self.assertNotIn('docker_volume_size', response['baymodels'][0])
|
||||
self.assertNotIn('ssh_authorized_key', response['baymodels'][0])
|
||||
self.assertNotIn('http_proxy', response['baymodels'][0])
|
||||
self.assertNotIn('https_proxy', response['baymodels'][0])
|
||||
self.assertNotIn('no_proxy', response['baymodels'][0])
|
||||
self.assertNotIn('labels', response['baymodels'][0])
|
||||
self._verify_attrs(self._baymodel_attrs, response['baymodels'][0])
|
||||
|
||||
# Verify attrs that should not appear from response
|
||||
none_attrs = (set(self._expand_baymodel_attrs) -
|
||||
set(self._baymodel_attrs))
|
||||
self._verify_attrs(none_attrs, response['baymodels'][0],
|
||||
positive=False)
|
||||
|
||||
def test_get_one(self):
|
||||
baymodel = obj_utils.create_test_baymodel(self.context)
|
||||
response = self.get_json('/baymodels/%s' % baymodel['uuid'])
|
||||
self.assertEqual(baymodel.uuid, response['uuid'])
|
||||
self.assertIn('flavor_id', response)
|
||||
self.assertIn('master_flavor_id', response)
|
||||
self.assertIn('dns_nameserver', response)
|
||||
self.assertIn('keypair_id', response)
|
||||
self.assertIn('external_network_id', response)
|
||||
self.assertIn('fixed_network', response)
|
||||
self.assertIn('network_driver', response)
|
||||
self.assertIn('docker_volume_size', response)
|
||||
self.assertIn('ssh_authorized_key', response)
|
||||
self.assertIn('coe', response)
|
||||
self.assertIn('http_proxy', response)
|
||||
self.assertIn('https_proxy', response)
|
||||
self.assertIn('no_proxy', response)
|
||||
self.assertIn('labels', response)
|
||||
self._verify_attrs(self._expand_baymodel_attrs, response)
|
||||
|
||||
def test_get_one_by_name(self):
|
||||
baymodel = obj_utils.create_test_baymodel(self.context)
|
||||
response = self.get_json('/baymodels/%s' % baymodel['name'])
|
||||
self.assertEqual(baymodel.uuid, response['uuid'])
|
||||
self.assertIn('flavor_id', response)
|
||||
self.assertIn('master_flavor_id', response)
|
||||
self.assertIn('dns_nameserver', response)
|
||||
self.assertIn('keypair_id', response)
|
||||
self.assertIn('external_network_id', response)
|
||||
self.assertIn('fixed_network', response)
|
||||
self.assertIn('network_driver', response)
|
||||
self.assertIn('docker_volume_size', response)
|
||||
self.assertIn('coe', response)
|
||||
self.assertIn('http_proxy', response)
|
||||
self.assertIn('https_proxy', response)
|
||||
self.assertIn('https_proxy', response)
|
||||
self.assertIn('labels', response)
|
||||
self._verify_attrs(self._expand_baymodel_attrs, response)
|
||||
|
||||
def test_get_one_by_name_not_found(self):
|
||||
response = self.get_json(
|
||||
|
@ -139,12 +121,8 @@ class TestListBayModel(api_base.FunctionalTest):
|
|||
baymodel = obj_utils.create_test_baymodel(self.context)
|
||||
response = self.get_json('/baymodels/detail')
|
||||
self.assertEqual(baymodel.uuid, response['baymodels'][0]["uuid"])
|
||||
for key in ("flavor_id", "master_flavor_id", "dns_nameserver",
|
||||
"keypair_id", "external_network_id", "fixed_network",
|
||||
"docker_volume_size", "ssh_authorized_key", "coe",
|
||||
"http_proxy", "https_proxy", "no_proxy", "labels",
|
||||
"network_driver"):
|
||||
self.assertIn(key, response['baymodels'][0])
|
||||
self._verify_attrs(self._expand_baymodel_attrs,
|
||||
response['baymodels'][0])
|
||||
|
||||
def test_detail_with_pagination_marker(self):
|
||||
bm_list = []
|
||||
|
@ -158,23 +136,8 @@ class TestListBayModel(api_base.FunctionalTest):
|
|||
% bm_list[2].uuid)
|
||||
self.assertEqual(1, len(response['baymodels']))
|
||||
self.assertEqual(bm_list[-1].uuid, response['baymodels'][0]['uuid'])
|
||||
for key in ("flavor_id", "master_flavor_id", "dns_nameserver",
|
||||
"keypair_id", "external_network_id", "fixed_network",
|
||||
"network_driver", "docker_volume_size", "labels",
|
||||
"ssh_authorized_key", "coe"):
|
||||
self.assertIn(key, response['baymodels'][0])
|
||||
self.assertIn('flavor_id', response['baymodels'][0])
|
||||
self.assertIn('master_flavor_id', response['baymodels'][0])
|
||||
self.assertIn('dns_nameserver', response['baymodels'][0])
|
||||
self.assertIn('keypair_id', response['baymodels'][0])
|
||||
self.assertIn('external_network_id', response['baymodels'][0])
|
||||
self.assertIn('fixed_network', response['baymodels'][0])
|
||||
self.assertIn('docker_volume_size', response['baymodels'][0])
|
||||
self.assertIn('ssh_authorized_key', response['baymodels'][0])
|
||||
self.assertIn('coe', response['baymodels'][0])
|
||||
self.assertIn('http_proxy', response['baymodels'][0])
|
||||
self.assertIn('https_proxy', response['baymodels'][0])
|
||||
self.assertIn('no_proxy', response['baymodels'][0])
|
||||
self._verify_attrs(self._expand_baymodel_attrs,
|
||||
response['baymodels'][0])
|
||||
|
||||
def test_detail_against_single(self):
|
||||
baymodel = obj_utils.create_test_baymodel(self.context)
|
||||
|
|
Loading…
Reference in New Issue