Skip to content

Commit dedc1a3

Browse files
committed
Use openstacksdk test generate_fake_resources factory
Instead of building fake test objects in the local fakes.py file, use existing generate_fake_resource(s) factory methods to automatically populate class attributes. Doing this ensures that fake objects are always build with actual attributes of the class. Change-Id: If424b87c79e7dab102cbd8a7938df85411c9465d Signed-off-by: Miro Tomaska <mtomaska@redhat.com>
1 parent 97c2238 commit dedc1a3

File tree

7 files changed

+70
-185
lines changed

7 files changed

+70
-185
lines changed

openstackclient/network/v2/taas/tap_flow.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,12 @@ def take_action(self, parsed_args):
101101
if parsed_args.port is not None:
102102
source_port = client.find_port(
103103
parsed_args.port, ignore_missing=False
104-
)['id']
104+
).id
105105
attrs['source_port'] = source_port
106106
if parsed_args.tap_service is not None:
107107
tap_service_id = client.find_tap_service(
108108
parsed_args.tap_service, ignore_missing=False
109-
)['id']
109+
).id
110110
attrs['tap_service_id'] = tap_service_id
111111
if parsed_args.direction is not None:
112112
attrs['direction'] = parsed_args.direction

openstackclient/network/v2/taas/tap_mirror.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def take_action(self, parsed_args):
9999
if parsed_args.port_id is not None:
100100
port_id = client.find_port(
101101
parsed_args.port_id, ignore_missing=False
102-
)['id']
102+
).id
103103
attrs['port_id'] = port_id
104104
if parsed_args.directions is not None:
105105
attrs['directions'] = parsed_args.directions

openstackclient/network/v2/taas/tap_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def take_action(self, parsed_args):
7979
if parsed_args.port_id is not None:
8080
port_id = client.find_port(
8181
parsed_args.port_id, ignore_missing=False
82-
)['id']
82+
).id
8383
attrs['port_id'] = port_id
8484
if 'project' in parsed_args and parsed_args.project is not None:
8585
attrs['project_id'] = common.find_project(

openstackclient/tests/unit/network/v2/taas/fakes.py

Lines changed: 0 additions & 118 deletions
This file was deleted.

openstackclient/tests/unit/network/v2/taas/test_osc_tap_flow.py

Lines changed: 28 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,14 @@
1717
import uuid
1818

1919
from openstack.network.v2 import tap_flow as _tap_flow
20+
from openstack.network.v2 import tap_service as _tap_service
21+
from openstack.test import fakes as sdk_fakes
2022
from osc_lib import utils as osc_utils
2123
from osc_lib.utils import columns as column_util
2224

2325
from openstackclient.network.v2.taas import tap_flow as osc_tap_flow
2426
from openstackclient.network.v2.taas import tap_service as osc_tap_service
2527
from openstackclient.tests.unit.network.v2 import fakes as network_fakes
26-
from openstackclient.tests.unit.network.v2.taas import fakes
2728

2829

2930
columns_long = tuple(
@@ -47,9 +48,11 @@ def _get_data(attrs, columns=sorted_columns):
4748

4849
class TestCreateTapFlow(network_fakes.TestNetworkV2):
4950
columns = (
51+
'description',
5052
'direction',
5153
'id',
5254
'name',
55+
'project_id',
5356
'source_port',
5457
'status',
5558
'tap_service_id',
@@ -61,22 +64,23 @@ def setUp(self):
6164

6265
def test_create_tap_flow(self):
6366
"""Test Create Tap Flow."""
64-
fake_tap_service = fakes.FakeTapService.create_tap_service(
65-
attrs={'port_id': str(uuid.uuid4())}
67+
fake_tap_service = sdk_fakes.generate_fake_resource(
68+
_tap_service.TapService
6669
)
6770
port_id = str(uuid.uuid4())
68-
fake_tap_flow = fakes.FakeTapFlow.create_tap_flow(
69-
attrs={
71+
fake_port = network_fakes.create_one_port(attrs={'id': port_id})
72+
fake_tap_flow = sdk_fakes.generate_fake_resource(
73+
_tap_flow.TapFlow,
74+
**{
7075
'source_port': port_id,
7176
'tap_service_id': fake_tap_service['id'],
72-
}
77+
'direction': 'BOTH',
78+
},
7379
)
7480
self.app.client_manager.network.create_tap_flow.return_value = (
7581
fake_tap_flow
7682
)
77-
self.app.client_manager.network.find_port.return_value = {
78-
'id': port_id
79-
}
83+
self.app.client_manager.network.find_port.return_value = fake_port
8084
self.app.client_manager.network.find_tap_service.return_value = (
8185
fake_tap_service
8286
)
@@ -122,12 +126,8 @@ def setUp(self):
122126

123127
def test_list_tap_flows(self):
124128
"""Test List Tap Flow."""
125-
fake_tap_flows = fakes.FakeTapFlow.create_tap_flows(
126-
attrs={
127-
'source_port': str(uuid.uuid4()),
128-
'tap_service_id': str(uuid.uuid4()),
129-
},
130-
count=2,
129+
fake_tap_flows = list(
130+
sdk_fakes.generate_fake_resources(_tap_flow.TapFlow, count=2)
131131
)
132132
self.app.client_manager.network.tap_flows.return_value = fake_tap_flows
133133
arg_list = []
@@ -159,13 +159,7 @@ def setUp(self):
159159
def test_delete_tap_flow(self):
160160
"""Test Delete tap flow."""
161161

162-
fake_tap_flow = fakes.FakeTapFlow.create_tap_flow(
163-
attrs={
164-
'source_port': str(uuid.uuid4()),
165-
'tap_service_id': str(uuid.uuid4()),
166-
}
167-
)
168-
162+
fake_tap_flow = sdk_fakes.generate_fake_resource(_tap_flow.TapFlow)
169163
arg_list = [
170164
fake_tap_flow['id'],
171165
]
@@ -184,9 +178,11 @@ def test_delete_tap_flow(self):
184178

185179
class TestShowTapFlow(network_fakes.TestNetworkV2):
186180
columns = (
181+
'description',
187182
'direction',
188183
'id',
189184
'name',
185+
'project_id',
190186
'source_port',
191187
'status',
192188
'tap_service_id',
@@ -201,12 +197,7 @@ def setUp(self):
201197

202198
def test_show_tap_flow(self):
203199
"""Test Show tap flow."""
204-
fake_tap_flow = fakes.FakeTapFlow.create_tap_flow(
205-
attrs={
206-
'source_port': str(uuid.uuid4()),
207-
'tap_service_id': str(uuid.uuid4()),
208-
}
209-
)
200+
fake_tap_flow = sdk_fakes.generate_fake_resource(_tap_flow.TapFlow)
210201
self.app.client_manager.network.get_tap_flow.return_value = (
211202
fake_tap_flow
212203
)
@@ -234,12 +225,19 @@ def test_show_tap_flow(self):
234225
class TestUpdateTapFlow(network_fakes.TestNetworkV2):
235226
_new_name = 'new_name'
236227

228+
# NOTE(mtomaska): The Resource class from which TapFlow inherits from
229+
# returns duplicate `ID and `Name` keys.
237230
columns = (
238231
'Direction',
239232
'ID',
233+
'ID',
234+
'Name',
240235
'Name',
241236
'Status',
242237
'Tenant',
238+
'description',
239+
'location',
240+
'project_id',
243241
'source_port',
244242
'tap_service_id',
245243
)
@@ -253,12 +251,7 @@ def setUp(self):
253251

254252
def test_update_tap_flow(self):
255253
"""Test update tap service"""
256-
fake_tap_flow = fakes.FakeTapFlow.create_tap_flow(
257-
attrs={
258-
'source_port': str(uuid.uuid4()),
259-
'tap_service_id': str(uuid.uuid4()),
260-
}
261-
)
254+
fake_tap_flow = sdk_fakes.generate_fake_resource(_tap_flow.TapFlow)
262255
new_tap_flow = copy.deepcopy(fake_tap_flow)
263256
new_tap_flow['name'] = self._new_name
264257

@@ -280,4 +273,4 @@ def test_update_tap_flow(self):
280273
mock_update_t_f = self.app.client_manager.network.update_tap_flow
281274
mock_update_t_f.assert_called_once_with(new_tap_flow['id'], **attrs)
282275
self.assertEqual(self.columns, columns)
283-
self.assertEqual(_get_data(new_tap_flow), data)
276+
self.assertEqual(_get_data(new_tap_flow, self.columns), data)

0 commit comments

Comments
 (0)