Skip to content

Commit b0fe724

Browse files
committed
tests: Remove use of legacy resource helpers
This allows us to remove get_servers, create_servers, and create_one_servers. Change-Id: I31a86b6333fdc3da1b54407f077873511260a5df Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
1 parent db4739f commit b0fe724

3 files changed

Lines changed: 65 additions & 216 deletions

File tree

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

Lines changed: 0 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -313,61 +313,6 @@ def create_security_group_rules(attrs=None, count=2):
313313
return security_group_rules
314314

315315

316-
def create_one_server(attrs=None, methods=None):
317-
"""Create a fake server.
318-
319-
:param dict attrs:
320-
A dictionary with all attributes
321-
:param dict methods:
322-
A dictionary with all methods
323-
:return:
324-
A FakeResource object, with id, name, metadata, and so on
325-
"""
326-
attrs = attrs or {}
327-
methods = methods or {}
328-
329-
# Set default attributes.
330-
server_info = {
331-
'id': 'server-id-' + uuid.uuid4().hex,
332-
'name': 'server-name-' + uuid.uuid4().hex,
333-
'metadata': {},
334-
'image': {
335-
'id': 'image-id-' + uuid.uuid4().hex,
336-
},
337-
'flavor': {
338-
'id': 'flavor-id-' + uuid.uuid4().hex,
339-
},
340-
'OS-EXT-STS:power_state': 1,
341-
}
342-
343-
# Overwrite default attributes.
344-
server_info.update(attrs)
345-
346-
server = fakes.FakeResource(
347-
info=copy.deepcopy(server_info), methods=methods, loaded=True
348-
)
349-
return server
350-
351-
352-
def create_servers(attrs=None, methods=None, count=2):
353-
"""Create multiple fake servers.
354-
355-
:param dict attrs:
356-
A dictionary with all attributes
357-
:param dict methods:
358-
A dictionary with all methods
359-
:param int count:
360-
The number of servers to fake
361-
:return:
362-
A list of FakeResource objects faking the servers
363-
"""
364-
servers = []
365-
for i in range(0, count):
366-
servers.append(create_one_server(attrs, methods))
367-
368-
return servers
369-
370-
371316
def create_one_sdk_server(attrs=None):
372317
"""Create a fake server for testing migration to sdk
373318
@@ -414,24 +359,6 @@ def create_sdk_servers(attrs=None, count=2):
414359
return servers
415360

416361

417-
def get_servers(servers=None, count=2):
418-
"""Get an iterable MagicMock object with a list of faked servers.
419-
420-
If servers list is provided, then initialize the Mock object with the
421-
list. Otherwise create one.
422-
423-
:param list servers: A list of fake openstack.compute.v2.server.Server
424-
objects
425-
:param int count:
426-
The number of servers to fake
427-
:return: An iterable Mock object with side_effect set to a list of faked
428-
servers
429-
"""
430-
if servers is None:
431-
servers = create_servers(count)
432-
return mock.Mock(side_effect=servers)
433-
434-
435362
def create_one_server_action(attrs=None):
436363
"""Create a fake server action.
437364

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

Lines changed: 32 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,8 @@
2222
from openstackclient.tests.unit.image.v2 import fakes as image_fakes
2323

2424

25-
class TestServerBackup(compute_fakes.TestComputev2):
26-
def setup_servers_mock(self, count):
27-
servers = compute_fakes.create_sdk_servers(
28-
count=count,
29-
)
30-
self.compute_client.find_server = compute_fakes.get_servers(
31-
servers,
32-
0,
33-
)
34-
return servers
35-
36-
37-
class TestServerBackupCreate(TestServerBackup):
38-
# Just return whatever Image is testing with these days
25+
class TestServerBackupCreate(compute_fakes.TestComputev2):
3926
def image_columns(self, image):
40-
# columnlist = tuple(sorted(image.keys()))
4127
columnlist = (
4228
'id',
4329
'name',
@@ -64,42 +50,27 @@ def image_data(self, image):
6450
def setUp(self):
6551
super().setUp()
6652

53+
self.server = compute_fakes.create_one_sdk_server()
54+
self.compute_client.find_server.return_value = self.server
55+
56+
self.image = image_fakes.create_one_image(
57+
{'name': self.server.name, 'status': 'active'}
58+
)
59+
self.image_client.find_image.return_value = self.image
60+
6761
# Get the command object to test
6862
self.cmd = server_backup.CreateServerBackup(self.app, None)
6963

70-
def setup_images_mock(self, count, servers=None):
71-
if servers:
72-
images = image_fakes.create_images(
73-
attrs={
74-
'name': servers[0].name,
75-
'status': 'active',
76-
},
77-
count=count,
78-
)
79-
else:
80-
images = image_fakes.create_images(
81-
attrs={
82-
'status': 'active',
83-
},
84-
count=count,
85-
)
86-
87-
self.image_client.find_image = mock.Mock(side_effect=images)
88-
return images
89-
9064
def test_server_backup_defaults(self):
91-
servers = self.setup_servers_mock(count=1)
92-
images = self.setup_images_mock(count=1, servers=servers)
93-
9465
arglist = [
95-
servers[0].id,
66+
self.server.id,
9667
]
9768
verifylist = [
9869
('name', None),
9970
('type', None),
10071
('rotate', None),
10172
('wait', False),
102-
('server', servers[0].id),
73+
('server', self.server.id),
10374
]
10475
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
10576

@@ -109,33 +80,30 @@ def test_server_backup_defaults(self):
10980
columns, data = self.cmd.take_action(parsed_args)
11081

11182
self.compute_client.backup_server.assert_called_with(
112-
servers[0].id,
113-
servers[0].name,
83+
self.server.id,
84+
self.server.name,
11485
'',
11586
1,
11687
)
11788

118-
self.assertEqual(self.image_columns(images[0]), columns)
119-
self.assertCountEqual(self.image_data(images[0]), data)
89+
self.assertEqual(self.image_columns(self.image), columns)
90+
self.assertCountEqual(self.image_data(self.image), data)
12091

12192
def test_server_backup_create_options(self):
122-
servers = self.setup_servers_mock(count=1)
123-
images = self.setup_images_mock(count=1, servers=servers)
124-
12593
arglist = [
12694
'--name',
12795
'image',
12896
'--type',
12997
'daily',
13098
'--rotate',
13199
'2',
132-
servers[0].id,
100+
self.server.id,
133101
]
134102
verifylist = [
135103
('name', 'image'),
136104
('type', 'daily'),
137105
('rotate', 2),
138-
('server', servers[0].id),
106+
('server', self.server.id),
139107
]
140108
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
141109

@@ -145,36 +113,32 @@ def test_server_backup_create_options(self):
145113
columns, data = self.cmd.take_action(parsed_args)
146114

147115
self.compute_client.backup_server.assert_called_with(
148-
servers[0].id,
116+
self.server.id,
149117
'image',
150118
'daily',
151119
2,
152120
)
153121

154-
self.assertEqual(self.image_columns(images[0]), columns)
155-
self.assertCountEqual(self.image_data(images[0]), data)
122+
self.assertEqual(self.image_columns(self.image), columns)
123+
self.assertCountEqual(self.image_data(self.image), data)
156124

157125
@mock.patch.object(common_utils, 'wait_for_status', return_value=False)
158126
def test_server_backup_wait_fail(self, mock_wait_for_status):
159-
servers = self.setup_servers_mock(count=1)
160-
images = self.setup_images_mock(count=1, servers=servers)
161-
self.image_client.get_image = mock.Mock(
162-
side_effect=images[0],
163-
)
127+
self.image_client.get_image.return_value = self.image
164128

165129
arglist = [
166130
'--name',
167131
'image',
168132
'--type',
169133
'daily',
170134
'--wait',
171-
servers[0].id,
135+
self.server.id,
172136
]
173137
verifylist = [
174138
('name', 'image'),
175139
('type', 'daily'),
176140
('wait', True),
177-
('server', servers[0].id),
141+
('server', self.server.id),
178142
]
179143
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
180144

@@ -185,23 +149,20 @@ def test_server_backup_wait_fail(self, mock_wait_for_status):
185149
)
186150

187151
self.compute_client.backup_server.assert_called_with(
188-
servers[0].id,
152+
self.server.id,
189153
'image',
190154
'daily',
191155
1,
192156
)
193157

194158
mock_wait_for_status.assert_called_once_with(
195-
self.image_client.get_image, images[0].id, callback=mock.ANY
159+
self.image_client.get_image, self.image.id, callback=mock.ANY
196160
)
197161

198162
@mock.patch.object(common_utils, 'wait_for_status', return_value=True)
199163
def test_server_backup_wait_ok(self, mock_wait_for_status):
200-
servers = self.setup_servers_mock(count=1)
201-
images = self.setup_images_mock(count=1, servers=servers)
202-
203164
self.image_client.get_image = mock.Mock(
204-
side_effect=images[0],
165+
side_effect=self.image,
205166
)
206167

207168
arglist = [
@@ -210,13 +171,13 @@ def test_server_backup_wait_ok(self, mock_wait_for_status):
210171
'--type',
211172
'daily',
212173
'--wait',
213-
servers[0].id,
174+
self.server.id,
214175
]
215176
verifylist = [
216177
('name', 'image'),
217178
('type', 'daily'),
218179
('wait', True),
219-
('server', servers[0].id),
180+
('server', self.server.id),
220181
]
221182
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
222183

@@ -226,15 +187,15 @@ def test_server_backup_wait_ok(self, mock_wait_for_status):
226187
columns, data = self.cmd.take_action(parsed_args)
227188

228189
self.compute_client.backup_server.assert_called_with(
229-
servers[0].id,
190+
self.server.id,
230191
'image',
231192
'daily',
232193
1,
233194
)
234195

235196
mock_wait_for_status.assert_called_once_with(
236-
self.image_client.get_image, images[0].id, callback=mock.ANY
197+
self.image_client.get_image, self.image.id, callback=mock.ANY
237198
)
238199

239-
self.assertEqual(self.image_columns(images[0]), columns)
240-
self.assertCountEqual(self.image_data(images[0]), data)
200+
self.assertEqual(self.image_columns(self.image), columns)
201+
self.assertCountEqual(self.image_data(self.image), data)

0 commit comments

Comments
 (0)