diff options
| author | Dean Troyer <dtroyer@gmail.com> | 2017-04-17 17:04:43 -0500 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2017-04-17 19:45:21 -0500 |
| commit | b2783dc3c44f5843a25770ff749d7a0de18b8dfc (patch) | |
| tree | d8ea54d2425533d23f5771223f88a334600856ad /openstackclient/tests/unit/api | |
| parent | 6f473be588a7d0dcd10ca189e3e1dba45a6eb2fe (diff) | |
| download | python-openstackclient-b2783dc3c44f5843a25770ff749d7a0de18b8dfc.tar.gz | |
Low-level Compute v2 API: network
api.compute.APIv2 network functions.
novaclient 8.0 is now released without support for the previously
deprecated nova-net functions, so include a new low-level REST
implementation of the removed APIs.
Change-Id: If230f128e91cda44461fe93c976cac2aecec2252
Diffstat (limited to 'openstackclient/tests/unit/api')
| -rw-r--r-- | openstackclient/tests/unit/api/test_compute_v2.py | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/openstackclient/tests/unit/api/test_compute_v2.py b/openstackclient/tests/unit/api/test_compute_v2.py index bb864094..7a30223c 100644 --- a/openstackclient/tests/unit/api/test_compute_v2.py +++ b/openstackclient/tests/unit/api/test_compute_v2.py @@ -145,6 +145,157 @@ class TestFloatingIP(TestComputeAPIv2): self.assertEqual(self.LIST_FLOATING_IP_RESP, ret) +class TestNetwork(TestComputeAPIv2): + + FAKE_NETWORK_RESP = { + 'id': '1', + 'label': 'label1', + 'cidr': '1.2.3.0/24', + } + + FAKE_NETWORK_RESP_2 = { + 'id': '2', + 'label': 'label2', + 'cidr': '4.5.6.0/24', + } + + LIST_NETWORK_RESP = [ + FAKE_NETWORK_RESP, + FAKE_NETWORK_RESP_2, + ] + + def test_network_create_default(self): + self.requests_mock.register_uri( + 'POST', + FAKE_URL + '/os-tenant-networks', + json={'network': self.FAKE_NETWORK_RESP}, + status_code=200, + ) + ret = self.api.network_create('label1') + self.assertEqual(self.FAKE_NETWORK_RESP, ret) + + def test_network_create_options(self): + self.requests_mock.register_uri( + 'POST', + FAKE_URL + '/os-tenant-networks', + json={'network': self.FAKE_NETWORK_RESP}, + status_code=200, + ) + ret = self.api.network_create( + name='label1', + subnet='1.2.3.0/24', + ) + self.assertEqual(self.FAKE_NETWORK_RESP, ret) + + def test_network_delete_id(self): + self.requests_mock.register_uri( + 'GET', + FAKE_URL + '/os-tenant-networks/1', + json={'network': self.FAKE_NETWORK_RESP}, + status_code=200, + ) + self.requests_mock.register_uri( + 'DELETE', + FAKE_URL + '/os-tenant-networks/1', + status_code=202, + ) + ret = self.api.network_delete('1') + self.assertEqual(202, ret.status_code) + self.assertEqual("", ret.text) + + def test_network_delete_name(self): + self.requests_mock.register_uri( + 'GET', + FAKE_URL + '/os-tenant-networks/label1', + status_code=404, + ) + self.requests_mock.register_uri( + 'GET', + FAKE_URL + '/os-tenant-networks', + json={'networks': self.LIST_NETWORK_RESP}, + status_code=200, + ) + self.requests_mock.register_uri( + 'DELETE', + FAKE_URL + '/os-tenant-networks/1', + status_code=202, + ) + ret = self.api.network_delete('label1') + self.assertEqual(202, ret.status_code) + self.assertEqual("", ret.text) + + def test_network_delete_not_found(self): + self.requests_mock.register_uri( + 'GET', + FAKE_URL + '/os-tenant-networks/label3', + status_code=404, + ) + self.requests_mock.register_uri( + 'GET', + FAKE_URL + '/os-tenant-networks', + json={'networks': self.LIST_NETWORK_RESP}, + status_code=200, + ) + self.assertRaises( + osc_lib_exceptions.NotFound, + self.api.network_delete, + 'label3', + ) + + def test_network_find_id(self): + self.requests_mock.register_uri( + 'GET', + FAKE_URL + '/os-tenant-networks/1', + json={'network': self.FAKE_NETWORK_RESP}, + status_code=200, + ) + ret = self.api.network_find('1') + self.assertEqual(self.FAKE_NETWORK_RESP, ret) + + def test_network_find_name(self): + self.requests_mock.register_uri( + 'GET', + FAKE_URL + '/os-tenant-networks/label2', + status_code=404, + ) + self.requests_mock.register_uri( + 'GET', + FAKE_URL + '/os-tenant-networks', + json={'networks': self.LIST_NETWORK_RESP}, + status_code=200, + ) + ret = self.api.network_find('label2') + self.assertEqual(self.FAKE_NETWORK_RESP_2, ret) + + def test_network_find_not_found(self): + self.requests_mock.register_uri( + 'GET', + FAKE_URL + '/os-tenant-networks/label3', + status_code=404, + ) + self.requests_mock.register_uri( + 'GET', + FAKE_URL + '/os-tenant-networks', + json={'networks': self.LIST_NETWORK_RESP}, + status_code=200, + ) + self.assertRaises( + osc_lib_exceptions.NotFound, + self.api.network_find, + 'label3', + ) + + def test_network_list_no_options(self): + self.requests_mock.register_uri( + 'GET', + FAKE_URL + '/os-tenant-networks', + json={'networks': self.LIST_NETWORK_RESP}, + status_code=200, + ) + ret = self.api.network_list() + self.assertEqual(self.LIST_NETWORK_RESP, ret) + + class TestSecurityGroup(TestComputeAPIv2): FAKE_SECURITY_GROUP_RESP = { |
