Skip to content

Commit 50dd4a1

Browse files
author
Huanxuan Ao
committed
Add create_one_image_member() in FakeImage class and update test
Usually we use a fake object in unit test. To match the other test, add create_one_image_member() in FakeImage class in imagev2 to create a fake image member, delete the old data and update the unit test of image. Change-Id: I062a362b15db7e8bc89ec48c540d310199fd6c0b
1 parent 1821f20 commit 50dd4a1

2 files changed

Lines changed: 32 additions & 13 deletions

File tree

openstackclient/tests/image/v2/fakes.py

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,6 @@
4949
IMAGE_SHOW['tags'] = ''
5050
IMAGE_SHOW_data = tuple((IMAGE_SHOW[x] for x in sorted(IMAGE_SHOW)))
5151

52-
member_status = 'pending'
53-
MEMBER = {
54-
'member_id': identity_fakes.project_id,
55-
'image_id': image_id,
56-
'status': member_status,
57-
}
58-
5952
# Just enough v2 schema to do some testing
6053
IMAGE_schema = {
6154
"additionalProperties": {
@@ -288,3 +281,29 @@ def get_image_data(image=None):
288281
else:
289282
data_list.append(getattr(image, x))
290283
return tuple(data_list)
284+
285+
@staticmethod
286+
def create_one_image_member(attrs=None):
287+
"""Create a fake image member.
288+
289+
:param Dictionary attrs:
290+
A dictionary with all attrbutes of image member
291+
:return:
292+
A FakeResource object with member_id, image_id and so on
293+
"""
294+
attrs = attrs or {}
295+
296+
# Set default attribute
297+
image_member_info = {
298+
'member_id': 'member-id-' + uuid.uuid4().hex,
299+
'image_id': 'image-id-' + uuid.uuid4().hex,
300+
'status': 'pending',
301+
}
302+
303+
# Overwrite default attributes if there are some attributes set
304+
image_member_info.update(attrs)
305+
306+
image_member = fakes.FakeModel(
307+
copy.deepcopy(image_member_info))
308+
309+
return image_member

openstackclient/tests/image/v2/test_image.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,10 @@ def test_image_create_dead_options(self):
347347
class TestAddProjectToImage(TestImage):
348348

349349
_image = image_fakes.FakeImage.create_one_image()
350+
new_member = image_fakes.FakeImage.create_one_image_member(
351+
attrs={'image_id': _image.id,
352+
'member_id': identity_fakes.project_id}
353+
)
350354

351355
columns = (
352356
'image_id',
@@ -357,7 +361,7 @@ class TestAddProjectToImage(TestImage):
357361
datalist = (
358362
_image.id,
359363
identity_fakes.project_id,
360-
image_fakes.member_status
364+
new_member.status
361365
)
362366

363367
def setUp(self):
@@ -367,11 +371,7 @@ def setUp(self):
367371
self.images_mock.get.return_value = self._image
368372

369373
# Update the image_id in the MEMBER dict
370-
self.new_member = copy.deepcopy(image_fakes.MEMBER)
371-
self.new_member['image_id'] = self._image.id
372-
self.image_members_mock.create.return_value = fakes.FakeModel(
373-
self.new_member,
374-
)
374+
self.image_members_mock.create.return_value = self.new_member
375375
self.project_mock.get.return_value = fakes.FakeResource(
376376
None,
377377
copy.deepcopy(identity_fakes.PROJECT),

0 commit comments

Comments
 (0)