summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
authorHuanxuan Ao <huanxuan.ao@easystack.cn>2016-07-15 19:58:04 +0800
committerHuanxuan Ao <huanxuan.ao@easystack.cn>2016-07-15 20:05:04 +0800
commit50dd4a1a1e890f81cabce383ba41041e84127d5b (patch)
treed1124aa6c0edfce67849296d8ea3dfa45b5d8e83 /openstackclient/tests
parent1821f20c424c5e2530e165ad2e2246a8af14a06a (diff)
downloadpython-openstackclient-50dd4a1a1e890f81cabce383ba41041e84127d5b.tar.gz
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
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/image/v2/fakes.py33
-rw-r--r--openstackclient/tests/image/v2/test_image.py12
2 files changed, 32 insertions, 13 deletions
diff --git a/openstackclient/tests/image/v2/fakes.py b/openstackclient/tests/image/v2/fakes.py
index c2a8d721..d450dec1 100644
--- a/openstackclient/tests/image/v2/fakes.py
+++ b/openstackclient/tests/image/v2/fakes.py
@@ -49,13 +49,6 @@ IMAGE_SHOW = copy.copy(IMAGE)
IMAGE_SHOW['tags'] = ''
IMAGE_SHOW_data = tuple((IMAGE_SHOW[x] for x in sorted(IMAGE_SHOW)))
-member_status = 'pending'
-MEMBER = {
- 'member_id': identity_fakes.project_id,
- 'image_id': image_id,
- 'status': member_status,
-}
-
# Just enough v2 schema to do some testing
IMAGE_schema = {
"additionalProperties": {
@@ -288,3 +281,29 @@ class FakeImage(object):
else:
data_list.append(getattr(image, x))
return tuple(data_list)
+
+ @staticmethod
+ def create_one_image_member(attrs=None):
+ """Create a fake image member.
+
+ :param Dictionary attrs:
+ A dictionary with all attrbutes of image member
+ :return:
+ A FakeResource object with member_id, image_id and so on
+ """
+ attrs = attrs or {}
+
+ # Set default attribute
+ image_member_info = {
+ 'member_id': 'member-id-' + uuid.uuid4().hex,
+ 'image_id': 'image-id-' + uuid.uuid4().hex,
+ 'status': 'pending',
+ }
+
+ # Overwrite default attributes if there are some attributes set
+ image_member_info.update(attrs)
+
+ image_member = fakes.FakeModel(
+ copy.deepcopy(image_member_info))
+
+ return image_member
diff --git a/openstackclient/tests/image/v2/test_image.py b/openstackclient/tests/image/v2/test_image.py
index 592def21..8bba1b01 100644
--- a/openstackclient/tests/image/v2/test_image.py
+++ b/openstackclient/tests/image/v2/test_image.py
@@ -347,6 +347,10 @@ class TestImageCreate(TestImage):
class TestAddProjectToImage(TestImage):
_image = image_fakes.FakeImage.create_one_image()
+ new_member = image_fakes.FakeImage.create_one_image_member(
+ attrs={'image_id': _image.id,
+ 'member_id': identity_fakes.project_id}
+ )
columns = (
'image_id',
@@ -357,7 +361,7 @@ class TestAddProjectToImage(TestImage):
datalist = (
_image.id,
identity_fakes.project_id,
- image_fakes.member_status
+ new_member.status
)
def setUp(self):
@@ -367,11 +371,7 @@ class TestAddProjectToImage(TestImage):
self.images_mock.get.return_value = self._image
# Update the image_id in the MEMBER dict
- self.new_member = copy.deepcopy(image_fakes.MEMBER)
- self.new_member['image_id'] = self._image.id
- self.image_members_mock.create.return_value = fakes.FakeModel(
- self.new_member,
- )
+ self.image_members_mock.create.return_value = self.new_member
self.project_mock.get.return_value = fakes.FakeResource(
None,
copy.deepcopy(identity_fakes.PROJECT),