Skip to content

Commit afc0d3c

Browse files
committed
Adopt sdk_fakes for compute.test_service
Change-Id: I331283f42914b91bd80dfca354635214fb7ba8a7
1 parent 42b1698 commit afc0d3c

File tree

2 files changed

+83
-83
lines changed

2 files changed

+83
-83
lines changed

openstackclient/tests/unit/compute/v2/fakes.py

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
from openstack.compute.v2 import server_group as _server_group
3333
from openstack.compute.v2 import server_interface as _server_interface
3434
from openstack.compute.v2 import server_migration as _server_migration
35-
from openstack.compute.v2 import service as _service
3635
from openstack.compute.v2 import usage as _usage
3736
from openstack.compute.v2 import volume_attachment as _volume_attachment
3837

@@ -485,51 +484,6 @@ def create_one_server_action(attrs=None):
485484
return server_action
486485

487486

488-
def create_one_service(attrs=None):
489-
"""Create a fake service.
490-
491-
:param dict attrs: A dictionary with all attributes
492-
:return: A fake openstack.compute.v2.service.Service object
493-
"""
494-
attrs = attrs or {}
495-
496-
# Set default attributes.
497-
service_info = {
498-
'id': 'id-' + uuid.uuid4().hex,
499-
'host': 'host-' + uuid.uuid4().hex,
500-
'binary': 'binary-' + uuid.uuid4().hex,
501-
'status': 'enabled',
502-
'availability_zone': 'zone-' + uuid.uuid4().hex,
503-
'state': 'state-' + uuid.uuid4().hex,
504-
'updated_at': 'time-' + uuid.uuid4().hex,
505-
'disabled_reason': 'earthquake',
506-
# Introduced in API microversion 2.11
507-
'is_forced_down': False,
508-
}
509-
510-
# Overwrite default attributes.
511-
service_info.update(attrs)
512-
513-
return _service.Service(**service_info)
514-
515-
516-
def create_services(attrs=None, count=2):
517-
"""Create multiple fake services.
518-
519-
:param dict attrs:
520-
A dictionary with all attributes
521-
:param int count:
522-
The number of services to fake
523-
:return:
524-
A list of FakeResource objects faking the services
525-
"""
526-
services = []
527-
for i in range(0, count):
528-
services.append(create_one_service(attrs))
529-
530-
return services
531-
532-
533487
def create_one_flavor(attrs=None):
534488
"""Create a fake flavor.
535489

openstackclient/tests/unit/compute/v2/test_service.py

Lines changed: 83 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,22 @@
1414

1515
from unittest import mock
1616

17+
from openstack.compute.v2 import service as _service
18+
from openstack.test import fakes as sdk_fakes
1719
from osc_lib import exceptions
1820

1921
from openstackclient.compute.v2 import service
2022
from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes
2123

2224

2325
class TestServiceDelete(compute_fakes.TestComputev2):
24-
services = compute_fakes.create_services(count=2)
25-
2626
def setUp(self):
2727
super().setUp()
2828

29+
self.services = list(
30+
sdk_fakes.generate_fake_resources(_service.Service, count=2)
31+
)
32+
2933
self.compute_sdk_client.delete_service.return_value = None
3034

3135
# Get the command object to test
@@ -94,35 +98,11 @@ def test_multi_services_delete_with_exception(self):
9498

9599

96100
class TestServiceList(compute_fakes.TestComputev2):
97-
service = compute_fakes.create_one_service()
98-
99-
columns = (
100-
'ID',
101-
'Binary',
102-
'Host',
103-
'Zone',
104-
'Status',
105-
'State',
106-
'Updated At',
107-
)
108-
columns_long = columns + ('Disabled Reason',)
109-
110-
data = [
111-
(
112-
service.id,
113-
service.binary,
114-
service.host,
115-
service.availability_zone,
116-
service.status,
117-
service.state,
118-
service.updated_at,
119-
)
120-
]
121-
data_long = [data[0] + (service.disabled_reason,)]
122-
123101
def setUp(self):
124102
super().setUp()
125103

104+
self.service = sdk_fakes.generate_fake_resource(_service.Service)
105+
126106
self.compute_sdk_client.services.return_value = [self.service]
127107

128108
# Get the command object to test
@@ -151,8 +131,29 @@ def test_service_list(self):
151131
binary=self.service.binary,
152132
)
153133

154-
self.assertEqual(self.columns, columns)
155-
self.assertEqual(self.data, list(data))
134+
expected_columns = (
135+
'ID',
136+
'Binary',
137+
'Host',
138+
'Zone',
139+
'Status',
140+
'State',
141+
'Updated At',
142+
)
143+
expected_data = [
144+
(
145+
self.service.id,
146+
self.service.binary,
147+
self.service.host,
148+
self.service.availability_zone,
149+
self.service.status,
150+
self.service.state,
151+
self.service.updated_at,
152+
)
153+
]
154+
155+
self.assertEqual(expected_columns, columns)
156+
self.assertEqual(expected_data, list(data))
156157

157158
def test_service_list_with_long_option(self):
158159
arglist = [
@@ -179,8 +180,31 @@ def test_service_list_with_long_option(self):
179180
binary=self.service.binary,
180181
)
181182

182-
self.assertEqual(self.columns_long, columns)
183-
self.assertEqual(self.data_long, list(data))
183+
expected_columns = (
184+
'ID',
185+
'Binary',
186+
'Host',
187+
'Zone',
188+
'Status',
189+
'State',
190+
'Updated At',
191+
'Disabled Reason',
192+
)
193+
expected_data = [
194+
(
195+
self.service.id,
196+
self.service.binary,
197+
self.service.host,
198+
self.service.availability_zone,
199+
self.service.status,
200+
self.service.state,
201+
self.service.updated_at,
202+
self.service.disabled_reason,
203+
)
204+
]
205+
206+
self.assertEqual(expected_columns, columns)
207+
self.assertEqual(expected_data, list(data))
184208

185209
def test_service_list_with_long_option_2_11(self):
186210
self.set_compute_api_version('2.11')
@@ -210,18 +234,40 @@ def test_service_list_with_long_option_2_11(self):
210234
)
211235

212236
# In 2.11 there is also a forced_down column.
213-
columns_long = self.columns_long + ('Forced Down',)
214-
data_long = [self.data_long[0] + (self.service.is_forced_down,)]
237+
expected_columns = (
238+
'ID',
239+
'Binary',
240+
'Host',
241+
'Zone',
242+
'Status',
243+
'State',
244+
'Updated At',
245+
'Disabled Reason',
246+
'Forced Down',
247+
)
248+
expected_data = [
249+
(
250+
self.service.id,
251+
self.service.binary,
252+
self.service.host,
253+
self.service.availability_zone,
254+
self.service.status,
255+
self.service.state,
256+
self.service.updated_at,
257+
self.service.disabled_reason,
258+
self.service.is_forced_down,
259+
)
260+
]
215261

216-
self.assertEqual(columns_long, columns)
217-
self.assertEqual(data_long, list(data))
262+
self.assertEqual(expected_columns, columns)
263+
self.assertEqual(expected_data, list(data))
218264

219265

220266
class TestServiceSet(compute_fakes.TestComputev2):
221267
def setUp(self):
222268
super().setUp()
223269

224-
self.service = compute_fakes.create_one_service()
270+
self.service = sdk_fakes.generate_fake_resource(_service.Service)
225271

226272
self.compute_sdk_client.enable_service.return_value = self.service
227273
self.compute_sdk_client.disable_service.return_value = self.service

0 commit comments

Comments
 (0)