Return complete response from compute networks_client
Currently compute networks_client returns Response by removing top key from Response. For example- return service_client.ResponseBody(resp, body['network']) As service clients are in direction to move to Tempest-lib, all service clients should return Response without any truncation. One good example is Resource pagination links which are lost with current way of return value. Resource pagination links are present in parallel (not inside) to top key of Response. This patch makes compute networks_client to return complete Response body. Change-Id: I953c9daf10e8b0d07f6999fd4a61330222c1d2e5 Implements: blueprint method-return-value-and-move-service-clients-to-lib
This commit is contained in:
@@ -36,7 +36,7 @@ class NetworksTest(base.BaseComputeAdminTest):
|
|||||||
|
|
||||||
@test.idempotent_id('d206d211-8912-486f-86e2-a9d090d1f416')
|
@test.idempotent_id('d206d211-8912-486f-86e2-a9d090d1f416')
|
||||||
def test_get_network(self):
|
def test_get_network(self):
|
||||||
networks = self.client.list_networks()
|
networks = self.client.list_networks()['networks']
|
||||||
if CONF.compute.fixed_network_name:
|
if CONF.compute.fixed_network_name:
|
||||||
configured_network = [x for x in networks if x['label'] ==
|
configured_network = [x for x in networks if x['label'] ==
|
||||||
CONF.compute.fixed_network_name]
|
CONF.compute.fixed_network_name]
|
||||||
@@ -47,12 +47,13 @@ class NetworksTest(base.BaseComputeAdminTest):
|
|||||||
else:
|
else:
|
||||||
configured_network = networks
|
configured_network = networks
|
||||||
configured_network = configured_network[0]
|
configured_network = configured_network[0]
|
||||||
network = self.client.show_network(configured_network['id'])
|
network = (self.client.show_network(configured_network['id'])
|
||||||
|
['network'])
|
||||||
self.assertEqual(configured_network['label'], network['label'])
|
self.assertEqual(configured_network['label'], network['label'])
|
||||||
|
|
||||||
@test.idempotent_id('df3d1046-6fa5-4b2c-ad0c-cfa46a351cb9')
|
@test.idempotent_id('df3d1046-6fa5-4b2c-ad0c-cfa46a351cb9')
|
||||||
def test_list_all_networks(self):
|
def test_list_all_networks(self):
|
||||||
networks = self.client.list_networks()
|
networks = self.client.list_networks()['networks']
|
||||||
# Check the configured network is in the list
|
# Check the configured network is in the list
|
||||||
if CONF.compute.fixed_network_name:
|
if CONF.compute.fixed_network_name:
|
||||||
configured_network = CONF.compute.fixed_network_name
|
configured_network = CONF.compute.fixed_network_name
|
||||||
|
|||||||
@@ -33,5 +33,5 @@ class NetworksTestJSON(base.BaseV2ComputeTest):
|
|||||||
|
|
||||||
@test.idempotent_id('3fe07175-312e-49a5-a623-5f52eeada4c2')
|
@test.idempotent_id('3fe07175-312e-49a5-a623-5f52eeada4c2')
|
||||||
def test_list_networks(self):
|
def test_list_networks(self):
|
||||||
networks = self.client.list_networks()
|
networks = self.client.list_networks()['networks']
|
||||||
self.assertNotEmpty(networks, "No networks found.")
|
self.assertNotEmpty(networks, "No networks found.")
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ def get_network_from_name(name, compute_networks_client):
|
|||||||
if not name:
|
if not name:
|
||||||
raise exceptions.InvalidConfiguration()
|
raise exceptions.InvalidConfiguration()
|
||||||
|
|
||||||
networks = compute_networks_client.list_networks()
|
networks = compute_networks_client.list_networks()['networks']
|
||||||
networks = [n for n in networks if n['label'] == name]
|
networks = [n for n in networks if n['label'] == name]
|
||||||
|
|
||||||
# Check that a network exists, else raise an InvalidConfigurationException
|
# Check that a network exists, else raise an InvalidConfigurationException
|
||||||
|
|||||||
@@ -24,10 +24,10 @@ class NetworksClient(service_client.ServiceClient):
|
|||||||
resp, body = self.get("os-networks")
|
resp, body = self.get("os-networks")
|
||||||
body = json.loads(body)
|
body = json.loads(body)
|
||||||
self.expected_success(200, resp.status)
|
self.expected_success(200, resp.status)
|
||||||
return service_client.ResponseBodyList(resp, body['networks'])
|
return service_client.ResponseBody(resp, body)
|
||||||
|
|
||||||
def show_network(self, network_id):
|
def show_network(self, network_id):
|
||||||
resp, body = self.get("os-networks/%s" % network_id)
|
resp, body = self.get("os-networks/%s" % network_id)
|
||||||
body = json.loads(body)
|
body = json.loads(body)
|
||||||
self.expected_success(200, resp.status)
|
self.expected_success(200, resp.status)
|
||||||
return service_client.ResponseBody(resp, body['network'])
|
return service_client.ResponseBody(resp, body)
|
||||||
|
|||||||
@@ -297,8 +297,9 @@ class TestAccount(base.TestCase):
|
|||||||
test_accounts_class = accounts.Accounts('v2', 'test_name')
|
test_accounts_class = accounts.Accounts('v2', 'test_name')
|
||||||
with mock.patch('tempest.services.compute.json.networks_client.'
|
with mock.patch('tempest.services.compute.json.networks_client.'
|
||||||
'NetworksClient.list_networks',
|
'NetworksClient.list_networks',
|
||||||
return_value=[{'name': 'network-2', 'id': 'fake-id',
|
return_value={'networks': [{'name': 'network-2',
|
||||||
'label': 'network-2'}]):
|
'id': 'fake-id',
|
||||||
|
'label': 'network-2'}]}):
|
||||||
creds = test_accounts_class.get_creds_by_roles(['role-7'])
|
creds = test_accounts_class.get_creds_by_roles(['role-7'])
|
||||||
self.assertTrue(isinstance(creds, cred_provider.TestResources))
|
self.assertTrue(isinstance(creds, cred_provider.TestResources))
|
||||||
network = creds.network
|
network = creds.network
|
||||||
|
|||||||
@@ -70,7 +70,8 @@ class TestNetworksClient(base.TestCase):
|
|||||||
fake_auth, 'compute', 'regionOne')
|
fake_auth, 'compute', 'regionOne')
|
||||||
|
|
||||||
def _test_list_networks(self, bytes_body=False):
|
def _test_list_networks(self, bytes_body=False):
|
||||||
serialized_body = json.dumps({"networks": self.FAKE_NETWORKS})
|
expected = {"networks": self.FAKE_NETWORKS}
|
||||||
|
serialized_body = json.dumps(expected)
|
||||||
if bytes_body:
|
if bytes_body:
|
||||||
serialized_body = serialized_body.encode('utf-8')
|
serialized_body = serialized_body.encode('utf-8')
|
||||||
|
|
||||||
@@ -79,7 +80,7 @@ class TestNetworksClient(base.TestCase):
|
|||||||
'tempest.common.service_client.ServiceClient.get',
|
'tempest.common.service_client.ServiceClient.get',
|
||||||
return_value=mocked_resp))
|
return_value=mocked_resp))
|
||||||
resp = self.client.list_networks()
|
resp = self.client.list_networks()
|
||||||
self.assertEqual(self.FAKE_NETWORKS, resp)
|
self.assertEqual(expected, resp)
|
||||||
|
|
||||||
def test_list_networks_with_str_body(self):
|
def test_list_networks_with_str_body(self):
|
||||||
self._test_list_networks()
|
self._test_list_networks()
|
||||||
@@ -88,7 +89,8 @@ class TestNetworksClient(base.TestCase):
|
|||||||
self._test_list_networks(bytes_body=True)
|
self._test_list_networks(bytes_body=True)
|
||||||
|
|
||||||
def _test_show_network(self, bytes_body=False):
|
def _test_show_network(self, bytes_body=False):
|
||||||
serialized_body = json.dumps({"network": self.FAKE_NETWORK})
|
expected = {"network": self.FAKE_NETWORKS}
|
||||||
|
serialized_body = json.dumps(expected)
|
||||||
if bytes_body:
|
if bytes_body:
|
||||||
serialized_body = serialized_body.encode('utf-8')
|
serialized_body = serialized_body.encode('utf-8')
|
||||||
|
|
||||||
@@ -97,7 +99,7 @@ class TestNetworksClient(base.TestCase):
|
|||||||
'tempest.common.service_client.ServiceClient.get',
|
'tempest.common.service_client.ServiceClient.get',
|
||||||
return_value=mocked_resp))
|
return_value=mocked_resp))
|
||||||
resp = self.client.show_network(self.network_id)
|
resp = self.client.show_network(self.network_id)
|
||||||
self.assertEqual(self.FAKE_NETWORK, resp)
|
self.assertEqual(expected, resp)
|
||||||
|
|
||||||
def test_show_network_with_str_body(self):
|
def test_show_network_with_str_body(self):
|
||||||
self._test_show_network()
|
self._test_show_network()
|
||||||
|
|||||||
Reference in New Issue
Block a user