diff --git a/openstackclient/network/v2/taas/tap_flow.py b/openstackclient/network/v2/taas/tap_flow.py index 92eb36d3ee..309c4caa05 100644 --- a/openstackclient/network/v2/taas/tap_flow.py +++ b/openstackclient/network/v2/taas/tap_flow.py @@ -103,12 +103,12 @@ class CreateTapFlow(command.ShowOne): if parsed_args.port is not None: source_port = client.find_port( parsed_args.port, ignore_missing=False - )['id'] + ).id attrs['source_port'] = source_port if parsed_args.tap_service is not None: tap_service_id = client.find_tap_service( parsed_args.tap_service, ignore_missing=False - )['id'] + ).id attrs['tap_service_id'] = tap_service_id if parsed_args.direction is not None: attrs['direction'] = parsed_args.direction diff --git a/openstackclient/network/v2/taas/tap_mirror.py b/openstackclient/network/v2/taas/tap_mirror.py index e48a3ae2b9..52e45e4a9d 100644 --- a/openstackclient/network/v2/taas/tap_mirror.py +++ b/openstackclient/network/v2/taas/tap_mirror.py @@ -99,7 +99,7 @@ class CreateTapMirror(command.ShowOne): if parsed_args.port_id is not None: port_id = client.find_port( parsed_args.port_id, ignore_missing=False - )['id'] + ).id attrs['port_id'] = port_id if parsed_args.directions is not None: attrs['directions'] = parsed_args.directions diff --git a/openstackclient/network/v2/taas/tap_service.py b/openstackclient/network/v2/taas/tap_service.py index 486388ec13..e0022b99d2 100644 --- a/openstackclient/network/v2/taas/tap_service.py +++ b/openstackclient/network/v2/taas/tap_service.py @@ -79,7 +79,7 @@ class CreateTapService(command.ShowOne): if parsed_args.port_id is not None: port_id = client.find_port( parsed_args.port_id, ignore_missing=False - )['id'] + ).id attrs['port_id'] = port_id if 'project' in parsed_args and parsed_args.project is not None: attrs['project_id'] = common.find_project( diff --git a/openstackclient/tests/unit/network/v2/taas/fakes.py b/openstackclient/tests/unit/network/v2/taas/fakes.py deleted file mode 100644 index 0480a0d903..0000000000 --- a/openstackclient/tests/unit/network/v2/taas/fakes.py +++ /dev/null @@ -1,118 +0,0 @@ -# All Rights Reserved 2020 -# -# 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. - -import copy - -from oslo_utils import uuidutils - - -class FakeTapService: - @staticmethod - def create_tap_service(attrs=None): - """Create a fake tap service.""" - attrs = attrs or {} - tap_service_attrs = { - 'id': uuidutils.generate_uuid(), - 'tenant_id': uuidutils.generate_uuid(), - 'name': 'test_tap_service' + uuidutils.generate_uuid(), - 'status': 'ACTIVE', - } - tap_service_attrs.update(attrs) - return copy.deepcopy(tap_service_attrs) - - @staticmethod - def create_tap_services(attrs=None, count=1): - """Create multiple fake tap services.""" - - tap_services = [] - for i in range(0, count): - if attrs is None: - attrs = {'id': f'fake_id{i}'} - elif getattr(attrs, 'id', None) is None: - attrs['id'] = f'fake_id{i}' - tap_services.append(FakeTapService.create_tap_service(attrs=attrs)) - - return tap_services - - -class FakeTapFlow: - @staticmethod - def create_tap_flow(attrs=None): - """Create a fake tap service.""" - attrs = attrs or {} - tap_flow_attrs = { - 'id': uuidutils.generate_uuid(), - 'tenant_id': uuidutils.generate_uuid(), - 'name': 'test_tap_flow' + uuidutils.generate_uuid(), - 'status': 'ACTIVE', - 'direction': 'BOTH', - } - tap_flow_attrs.update(attrs) - return copy.deepcopy(tap_flow_attrs) - - @staticmethod - def create_tap_flows(attrs=None, count=1): - """Create multiple fake tap flows.""" - - tap_flows = [] - for i in range(0, count): - if attrs is None: - attrs = { - 'id': f'fake_id{i}', - 'source_port': uuidutils.generate_uuid(), - 'tap_service_id': uuidutils.generate_uuid(), - } - elif getattr(attrs, 'id', None) is None: - attrs['id'] = f'fake_id{i}' - tap_flows.append(FakeTapFlow.create_tap_flow(attrs=attrs)) - - return tap_flows - - -class FakeTapMirror: - @staticmethod - def create_tap_mirror(attrs=None): - """Create a fake tap mirror.""" - attrs = attrs or {} - tap_mirror_attrs = { - 'id': uuidutils.generate_uuid(), - 'tenant_id': uuidutils.generate_uuid(), - 'name': 'test_tap_mirror' + uuidutils.generate_uuid(), - 'port_id': uuidutils.generate_uuid(), - 'directions': 'IN=99', - 'remote_ip': '192.10.10.2', - 'mirror_type': 'gre', - } - tap_mirror_attrs.update(attrs) - return copy.deepcopy(tap_mirror_attrs) - - @staticmethod - def create_tap_mirrors(attrs=None, count=1): - """Create multiple fake tap mirrors.""" - - tap_mirrors = [] - for i in range(0, count): - if attrs is None: - attrs = { - 'id': f'fake_id{i}', - 'port_id': uuidutils.generate_uuid(), - 'name': f'test_tap_mirror_{i}', - 'directions': f'IN={99 + i}', - 'remote_ip': f'192.10.10.{i + 3}', - } - elif getattr(attrs, 'id', None) is None: - attrs['id'] = f'fake_id{i}' - tap_mirrors.append(FakeTapMirror.create_tap_mirror(attrs=attrs)) - - return tap_mirrors diff --git a/openstackclient/tests/unit/network/v2/taas/test_osc_tap_flow.py b/openstackclient/tests/unit/network/v2/taas/test_osc_tap_flow.py index e401a0f972..8e4f185c8d 100644 --- a/openstackclient/tests/unit/network/v2/taas/test_osc_tap_flow.py +++ b/openstackclient/tests/unit/network/v2/taas/test_osc_tap_flow.py @@ -17,13 +17,14 @@ import operator import uuid from openstack.network.v2 import tap_flow as _tap_flow +from openstack.network.v2 import tap_service as _tap_service +from openstack.test import fakes as sdk_fakes from osc_lib import utils as osc_utils from osc_lib.utils import columns as column_util from openstackclient.network.v2.taas import tap_flow as osc_tap_flow from openstackclient.network.v2.taas import tap_service as osc_tap_service from openstackclient.tests.unit.network.v2 import fakes as network_fakes -from openstackclient.tests.unit.network.v2.taas import fakes columns_long = tuple( @@ -47,9 +48,11 @@ def _get_data(attrs, columns=sorted_columns): class TestCreateTapFlow(network_fakes.TestNetworkV2): columns = ( + 'description', 'direction', 'id', 'name', + 'project_id', 'source_port', 'status', 'tap_service_id', @@ -61,22 +64,23 @@ class TestCreateTapFlow(network_fakes.TestNetworkV2): def test_create_tap_flow(self): """Test Create Tap Flow.""" - fake_tap_service = fakes.FakeTapService.create_tap_service( - attrs={'port_id': str(uuid.uuid4())} + fake_tap_service = sdk_fakes.generate_fake_resource( + _tap_service.TapService ) port_id = str(uuid.uuid4()) - fake_tap_flow = fakes.FakeTapFlow.create_tap_flow( - attrs={ + fake_port = network_fakes.create_one_port(attrs={'id': port_id}) + fake_tap_flow = sdk_fakes.generate_fake_resource( + _tap_flow.TapFlow, + **{ 'source_port': port_id, 'tap_service_id': fake_tap_service['id'], - } + 'direction': 'BOTH', + }, ) self.app.client_manager.network.create_tap_flow.return_value = ( fake_tap_flow ) - self.app.client_manager.network.find_port.return_value = { - 'id': port_id - } + self.app.client_manager.network.find_port.return_value = fake_port self.app.client_manager.network.find_tap_service.return_value = ( fake_tap_service ) @@ -122,12 +126,8 @@ class TestListTapFlow(network_fakes.TestNetworkV2): def test_list_tap_flows(self): """Test List Tap Flow.""" - fake_tap_flows = fakes.FakeTapFlow.create_tap_flows( - attrs={ - 'source_port': str(uuid.uuid4()), - 'tap_service_id': str(uuid.uuid4()), - }, - count=2, + fake_tap_flows = list( + sdk_fakes.generate_fake_resources(_tap_flow.TapFlow, count=2) ) self.app.client_manager.network.tap_flows.return_value = fake_tap_flows arg_list = [] @@ -159,13 +159,7 @@ class TestDeleteTapFlow(network_fakes.TestNetworkV2): def test_delete_tap_flow(self): """Test Delete tap flow.""" - fake_tap_flow = fakes.FakeTapFlow.create_tap_flow( - attrs={ - 'source_port': str(uuid.uuid4()), - 'tap_service_id': str(uuid.uuid4()), - } - ) - + fake_tap_flow = sdk_fakes.generate_fake_resource(_tap_flow.TapFlow) arg_list = [ fake_tap_flow['id'], ] @@ -184,9 +178,11 @@ class TestDeleteTapFlow(network_fakes.TestNetworkV2): class TestShowTapFlow(network_fakes.TestNetworkV2): columns = ( + 'description', 'direction', 'id', 'name', + 'project_id', 'source_port', 'status', 'tap_service_id', @@ -201,12 +197,7 @@ class TestShowTapFlow(network_fakes.TestNetworkV2): def test_show_tap_flow(self): """Test Show tap flow.""" - fake_tap_flow = fakes.FakeTapFlow.create_tap_flow( - attrs={ - 'source_port': str(uuid.uuid4()), - 'tap_service_id': str(uuid.uuid4()), - } - ) + fake_tap_flow = sdk_fakes.generate_fake_resource(_tap_flow.TapFlow) self.app.client_manager.network.get_tap_flow.return_value = ( fake_tap_flow ) @@ -234,12 +225,19 @@ class TestShowTapFlow(network_fakes.TestNetworkV2): class TestUpdateTapFlow(network_fakes.TestNetworkV2): _new_name = 'new_name' + # NOTE(mtomaska): The Resource class from which TapFlow inherits from + # returns duplicate `ID and `Name` keys. columns = ( 'Direction', 'ID', + 'ID', + 'Name', 'Name', 'Status', 'Tenant', + 'description', + 'location', + 'project_id', 'source_port', 'tap_service_id', ) @@ -253,12 +251,7 @@ class TestUpdateTapFlow(network_fakes.TestNetworkV2): def test_update_tap_flow(self): """Test update tap service""" - fake_tap_flow = fakes.FakeTapFlow.create_tap_flow( - attrs={ - 'source_port': str(uuid.uuid4()), - 'tap_service_id': str(uuid.uuid4()), - } - ) + fake_tap_flow = sdk_fakes.generate_fake_resource(_tap_flow.TapFlow) new_tap_flow = copy.deepcopy(fake_tap_flow) new_tap_flow['name'] = self._new_name @@ -280,4 +273,4 @@ class TestUpdateTapFlow(network_fakes.TestNetworkV2): mock_update_t_f = self.app.client_manager.network.update_tap_flow mock_update_t_f.assert_called_once_with(new_tap_flow['id'], **attrs) self.assertEqual(self.columns, columns) - self.assertEqual(_get_data(new_tap_flow), data) + self.assertEqual(_get_data(new_tap_flow, self.columns), data) diff --git a/openstackclient/tests/unit/network/v2/taas/test_osc_tap_mirror.py b/openstackclient/tests/unit/network/v2/taas/test_osc_tap_mirror.py index 451d6a25b3..10f3251c36 100644 --- a/openstackclient/tests/unit/network/v2/taas/test_osc_tap_mirror.py +++ b/openstackclient/tests/unit/network/v2/taas/test_osc_tap_mirror.py @@ -15,12 +15,12 @@ import operator import uuid from openstack.network.v2 import tap_mirror +from openstack.test import fakes as sdk_fakes from osc_lib import utils as osc_utils from osc_lib.utils import columns as column_util from openstackclient.network.v2.taas import tap_mirror as osc_tap_mirror from openstackclient.tests.unit.network.v2 import fakes as network_fakes -from openstackclient.tests.unit.network.v2.taas import fakes columns_long = tuple( @@ -44,11 +44,13 @@ def _get_data(attrs, columns=sorted_columns): class TestCreateTapMirror(network_fakes.TestNetworkV2): columns = ( + 'description', 'directions', 'id', 'mirror_type', 'name', 'port_id', + 'project_id', 'remote_ip', ) @@ -58,15 +60,14 @@ class TestCreateTapMirror(network_fakes.TestNetworkV2): def test_create_tap_mirror(self): port_id = str(uuid.uuid4()) - fake_tap_mirror = fakes.FakeTapMirror.create_tap_mirror( - attrs={'port_id': port_id} + fake_port = network_fakes.create_one_port(attrs={'id': port_id}) + fake_tap_mirror = sdk_fakes.generate_fake_resource( + tap_mirror.TapMirror, **{'port_id': port_id, 'directions': 'IN=99'} ) self.app.client_manager.network.create_tap_mirror.return_value = ( fake_tap_mirror ) - self.app.client_manager.network.find_port.return_value = { - 'id': port_id - } + self.app.client_manager.network.find_port.return_value = fake_port self.app.client_manager.network.find_tap_mirror.side_effect = ( lambda _, name_or_id: {'id': name_or_id} ) @@ -124,8 +125,8 @@ class TestListTapMirror(network_fakes.TestNetworkV2): def test_list_tap_mirror(self): """Test List Tap Mirror.""" - fake_tap_mirrors = fakes.FakeTapMirror.create_tap_mirrors( - attrs={'port_id': str(uuid.uuid4())}, count=4 + fake_tap_mirrors = list( + sdk_fakes.generate_fake_resources(tap_mirror.TapMirror, count=4) ) self.app.client_manager.network.tap_mirrors.return_value = ( fake_tap_mirrors @@ -162,8 +163,8 @@ class TestDeleteTapMirror(network_fakes.TestNetworkV2): def test_delete_tap_mirror(self): """Test Delete Tap Mirror.""" - fake_tap_mirror = fakes.FakeTapMirror.create_tap_mirror( - attrs={'port_id': str(uuid.uuid4())} + fake_tap_mirror = sdk_fakes.generate_fake_resource( + tap_mirror.TapMirror ) arg_list = [ @@ -183,11 +184,13 @@ class TestDeleteTapMirror(network_fakes.TestNetworkV2): class TestShowTapMirror(network_fakes.TestNetworkV2): columns = ( + 'description', 'directions', 'id', 'mirror_type', 'name', 'port_id', + 'project_id', 'remote_ip', ) @@ -203,8 +206,8 @@ class TestShowTapMirror(network_fakes.TestNetworkV2): def test_show_tap_mirror(self): """Test Show Tap Mirror.""" - fake_tap_mirror = fakes.FakeTapMirror.create_tap_mirror( - attrs={'port_id': str(uuid.uuid4())} + fake_tap_mirror = sdk_fakes.generate_fake_resource( + tap_mirror.TapMirror ) self.app.client_manager.network.get_tap_mirror.return_value = ( fake_tap_mirror @@ -232,11 +235,13 @@ class TestShowTapMirror(network_fakes.TestNetworkV2): class TestUpdateTapMirror(network_fakes.TestNetworkV2): _new_name = 'new_name' columns = ( + 'description', 'directions', 'id', 'mirror_type', 'name', 'port_id', + 'project_id', 'remote_ip', ) @@ -251,8 +256,8 @@ class TestUpdateTapMirror(network_fakes.TestNetworkV2): def test_update_tap_mirror(self): """Test update Tap Mirror""" - fake_tap_mirror = fakes.FakeTapMirror.create_tap_mirror( - attrs={'port_id': str(uuid.uuid4())} + fake_tap_mirror = sdk_fakes.generate_fake_resource( + tap_mirror.TapMirror ) new_tap_mirror = copy.deepcopy(fake_tap_mirror) new_tap_mirror['name'] = self._new_name diff --git a/openstackclient/tests/unit/network/v2/taas/test_osc_tap_service.py b/openstackclient/tests/unit/network/v2/taas/test_osc_tap_service.py index 0b81801511..fa766891ee 100644 --- a/openstackclient/tests/unit/network/v2/taas/test_osc_tap_service.py +++ b/openstackclient/tests/unit/network/v2/taas/test_osc_tap_service.py @@ -17,12 +17,12 @@ import operator import uuid from openstack.network.v2 import tap_service +from openstack.test import fakes as sdk_fakes from osc_lib import utils as osc_utils from osc_lib.utils import columns as column_util from openstackclient.network.v2.taas import tap_service as osc_tap_service from openstackclient.tests.unit.network.v2 import fakes as network_fakes -from openstackclient.tests.unit.network.v2.taas import fakes columns_long = tuple( @@ -46,9 +46,11 @@ def _get_data(attrs, columns=sorted_columns): class TestCreateTapService(network_fakes.TestNetworkV2): columns = ( + 'description', 'id', 'name', 'port_id', + 'project_id', 'status', ) @@ -59,15 +61,14 @@ class TestCreateTapService(network_fakes.TestNetworkV2): def test_create_tap_service(self): """Test Create Tap Service.""" port_id = str(uuid.uuid4()) - fake_tap_service = fakes.FakeTapService.create_tap_service( - attrs={'port_id': port_id} + fake_port = network_fakes.create_one_port(attrs={'id': port_id}) + fake_tap_service = sdk_fakes.generate_fake_resource( + tap_service.TapService, **{'port_id': port_id} ) self.app.client_manager.network.create_tap_service.return_value = ( fake_tap_service ) - self.app.client_manager.network.find_port.return_value = { - 'id': port_id - } + self.app.client_manager.network.find_port.return_value = fake_port self.app.client_manager.network.find_tap_service.side_effect = ( lambda _, name_or_id: {'id': name_or_id} ) @@ -110,8 +111,8 @@ class TestListTapService(network_fakes.TestNetworkV2): def test_list_tap_service(self): """Test List Tap Service.""" - fake_tap_services = fakes.FakeTapService.create_tap_services( - attrs={'port_id': str(uuid.uuid4())}, count=4 + fake_tap_services = list( + sdk_fakes.generate_fake_resources(tap_service.TapService, count=4) ) self.app.client_manager.network.tap_services.return_value = ( fake_tap_services @@ -148,8 +149,8 @@ class TestDeleteTapService(network_fakes.TestNetworkV2): def test_delete_tap_service(self): """Test Delete tap service.""" - fake_tap_service = fakes.FakeTapService.create_tap_service( - attrs={'port_id': str(uuid.uuid4())} + fake_tap_service = sdk_fakes.generate_fake_resource( + tap_service.TapService ) arg_list = [ @@ -169,9 +170,11 @@ class TestDeleteTapService(network_fakes.TestNetworkV2): class TestShowTapService(network_fakes.TestNetworkV2): columns = ( + 'description', 'id', 'name', 'port_id', + 'project_id', 'status', ) @@ -187,8 +190,8 @@ class TestShowTapService(network_fakes.TestNetworkV2): def test_show_tap_service(self): """Test Show tap service.""" - fake_tap_service = fakes.FakeTapService.create_tap_service( - attrs={'port_id': str(uuid.uuid4())} + fake_tap_service = sdk_fakes.generate_fake_resource( + tap_service.TapService ) self.app.client_manager.network.get_tap_service.return_value = ( fake_tap_service @@ -217,9 +220,11 @@ class TestUpdateTapService(network_fakes.TestNetworkV2): _new_name = 'new_name' columns = ( + 'description', 'id', 'name', 'port_id', + 'project_id', 'status', ) @@ -234,8 +239,8 @@ class TestUpdateTapService(network_fakes.TestNetworkV2): def test_update_tap_service(self): """Test update tap service""" - fake_tap_service = fakes.FakeTapService.create_tap_service( - attrs={'port_id': str(uuid.uuid4())} + fake_tap_service = sdk_fakes.generate_fake_resource( + tap_service.TapService ) new_tap_service = copy.deepcopy(fake_tap_service) new_tap_service['name'] = self._new_name