Migrated tenant_networks_client.py from tempest
This migrates the above files from tempest. This includes tempest commits: * tenant_networks_client.py : Ie0f6e709cbb3a215752344cb39f2f7a6f5a7a91b * tenant_networks.py : Ica929c402a3d042ae751302384e68853eb28b405 * test_tenant_networks_client.py: I3ad6761651cec5e66012d08e6b63322f53286a5c to see the commit history for these files refer to the above Change-Ids in the tempest repository Partially implements blueprint migrate-service-clients-to-tempest-lib Change-Id: Ie98ff37137e25e73eb77acb0b5b7e53184842540
This commit is contained in:
		| @@ -0,0 +1,53 @@ | ||||
| # Copyright 2015 NEC Corporation.  All rights reserved. | ||||
| # | ||||
| #    Licensed under the Apache License, Version 2.0 (the "License"); you may | ||||
| #    not use this file except in compliance with the License. You may obtain | ||||
| #    a copy of the License at | ||||
| # | ||||
| #         http://www.apache.org/licenses/LICENSE-2.0 | ||||
| # | ||||
| #    Unless required by applicable law or agreed to in writing, software | ||||
| #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||||
| #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||||
| #    License for the specific language governing permissions and limitations | ||||
| #    under the License. | ||||
|  | ||||
| param_network = { | ||||
|     'type': 'object', | ||||
|     'properties': { | ||||
|         'id': {'type': 'string'}, | ||||
|         'cidr': {'type': ['string', 'null']}, | ||||
|         'label': {'type': 'string'} | ||||
|     }, | ||||
|     'additionalProperties': False, | ||||
|     'required': ['id', 'cidr', 'label'] | ||||
| } | ||||
|  | ||||
|  | ||||
| list_tenant_networks = { | ||||
|     'status_code': [200], | ||||
|     'response_body': { | ||||
|         'type': 'object', | ||||
|         'properties': { | ||||
|             'networks': { | ||||
|                 'type': 'array', | ||||
|                 'items': param_network | ||||
|             } | ||||
|         }, | ||||
|         'additionalProperties': False, | ||||
|         'required': ['networks'] | ||||
|     } | ||||
| } | ||||
|  | ||||
|  | ||||
| get_tenant_network = { | ||||
|     'status_code': [200], | ||||
|     'response_body': { | ||||
|         'type': 'object', | ||||
|         'properties': { | ||||
|             'network': param_network | ||||
|         }, | ||||
|         'additionalProperties': False, | ||||
|         'required': ['network'] | ||||
|     } | ||||
| } | ||||
							
								
								
									
										34
									
								
								tempest_lib/services/compute/tenant_networks_client.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								tempest_lib/services/compute/tenant_networks_client.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| # Copyright 2015 NEC Corporation. All rights reserved. | ||||
| # | ||||
| #    Licensed under the Apache License, Version 2.0 (the "License"); you may | ||||
| #    not use this file except in compliance with the License. You may obtain | ||||
| #    a copy of the License at | ||||
| # | ||||
| #         http://www.apache.org/licenses/LICENSE-2.0 | ||||
| # | ||||
| #    Unless required by applicable law or agreed to in writing, software | ||||
| #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||||
| #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||||
| #    License for the specific language governing permissions and limitations | ||||
| #    under the License. | ||||
|  | ||||
| from oslo_serialization import jsonutils as json | ||||
|  | ||||
| from tempest_lib.api_schema.response.compute.v2_1 import tenant_networks | ||||
| from tempest_lib.common import rest_client | ||||
|  | ||||
|  | ||||
| class TenantNetworksClient(rest_client.RestClient): | ||||
|  | ||||
|     def list_tenant_networks(self): | ||||
|         resp, body = self.get("os-tenant-networks") | ||||
|         body = json.loads(body) | ||||
|         self.validate_response(tenant_networks.list_tenant_networks, resp, | ||||
|                                body) | ||||
|         return rest_client.ResponseBody(resp, body) | ||||
|  | ||||
|     def show_tenant_network(self, network_id): | ||||
|         resp, body = self.get("os-tenant-networks/%s" % network_id) | ||||
|         body = json.loads(body) | ||||
|         self.validate_response(tenant_networks.get_tenant_network, resp, body) | ||||
|         return rest_client.ResponseBody(resp, body) | ||||
| @@ -0,0 +1,63 @@ | ||||
| # Copyright 2015 NEC Corporation.  All rights reserved. | ||||
| # | ||||
| #    Licensed under the Apache License, Version 2.0 (the "License"); you may | ||||
| #    not use this file except in compliance with the License. You may obtain | ||||
| #    a copy of the License at | ||||
| # | ||||
| #         http://www.apache.org/licenses/LICENSE-2.0 | ||||
| # | ||||
| #    Unless required by applicable law or agreed to in writing, software | ||||
| #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||||
| #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||||
| #    License for the specific language governing permissions and limitations | ||||
| #    under the License. | ||||
|  | ||||
| from tempest_lib.services.compute import tenant_networks_client | ||||
| from tempest_lib.tests import fake_auth_provider | ||||
| from tempest_lib.tests.services.compute import base | ||||
|  | ||||
|  | ||||
| class TestTenantNetworksClient(base.BaseComputeServiceTest): | ||||
|  | ||||
|     FAKE_NETWORK = { | ||||
|         "cidr": "None", | ||||
|         "id": "c2329eb4-cc8e-4439-ac4c-932369309e36", | ||||
|         "label": u'\u30d7' | ||||
|         } | ||||
|  | ||||
|     FAKE_NETWORKS = [FAKE_NETWORK] | ||||
|  | ||||
|     NETWORK_ID = FAKE_NETWORK['id'] | ||||
|  | ||||
|     def setUp(self): | ||||
|         super(TestTenantNetworksClient, self).setUp() | ||||
|         fake_auth = fake_auth_provider.FakeAuthProvider() | ||||
|         self.client = tenant_networks_client.TenantNetworksClient( | ||||
|             fake_auth, 'compute', 'regionOne') | ||||
|  | ||||
|     def _test_list_tenant_networks(self, bytes_body=False): | ||||
|         self.check_service_client_function( | ||||
|             self.client.list_tenant_networks, | ||||
|             'tempest_lib.common.rest_client.RestClient.get', | ||||
|             {"networks": self.FAKE_NETWORKS}, | ||||
|             bytes_body) | ||||
|  | ||||
|     def test_list_tenant_networks_with_str_body(self): | ||||
|         self._test_list_tenant_networks() | ||||
|  | ||||
|     def test_list_tenant_networks_with_bytes_body(self): | ||||
|         self._test_list_tenant_networks(bytes_body=True) | ||||
|  | ||||
|     def _test_show_tenant_network(self, bytes_body=False): | ||||
|         self.check_service_client_function( | ||||
|             self.client.show_tenant_network, | ||||
|             'tempest_lib.common.rest_client.RestClient.get', | ||||
|             {"network": self.FAKE_NETWORK}, | ||||
|             bytes_body, | ||||
|             network_id=self.NETWORK_ID) | ||||
|  | ||||
|     def test_show_tenant_network_with_str_body(self): | ||||
|         self._test_show_tenant_network() | ||||
|  | ||||
|     def test_show_tenant_network_with_bytes_body(self): | ||||
|         self._test_show_tenant_network(bytes_body=True) | ||||
		Reference in New Issue
	
	Block a user
	 Ken'ichi Ohmichi
					Ken'ichi Ohmichi