From 2b4c543cddbb910d801beea079e861b041e8170a Mon Sep 17 00:00:00 2001
From: xiexs <xiexs@cn.fujitsu.com>
Date: Wed, 9 Dec 2015 18:09:08 +0800
Subject: [PATCH] Refactor TestAddProjectToImage with FakeImage class

Change-Id: I6733601f12389eb744dbf0be64b7c556356b4730
Co-Authored-By: ting wang <bx_wang@outlook.com>
Implements: blueprint improve-image-unittest-framework
---
 openstackclient/tests/image/v2/test_image.py | 32 +++++++++++---------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/openstackclient/tests/image/v2/test_image.py b/openstackclient/tests/image/v2/test_image.py
index 0248f30b9a..a60859aafd 100644
--- a/openstackclient/tests/image/v2/test_image.py
+++ b/openstackclient/tests/image/v2/test_image.py
@@ -341,28 +341,31 @@ class TestImageCreate(TestImage):
 
 class TestAddProjectToImage(TestImage):
 
+    _image = image_fakes.FakeImage.create_one_image()
+
     columns = (
         'image_id',
         'member_id',
         'status',
     )
+
     datalist = (
-        image_fakes.image_id,
+        _image.id,
         identity_fakes.project_id,
-        image_fakes.member_status,
+        image_fakes.member_status
     )
 
     def setUp(self):
         super(TestAddProjectToImage, self).setUp()
 
         # This is the return value for utils.find_resource()
-        self.images_mock.get.return_value = fakes.FakeResource(
-            None,
-            copy.deepcopy(image_fakes.IMAGE),
-            loaded=True,
-        )
+        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(
-            copy.deepcopy(image_fakes.MEMBER),
+            self.new_member,
         )
         self.project_mock.get.return_value = fakes.FakeResource(
             None,
@@ -379,11 +382,11 @@ class TestAddProjectToImage(TestImage):
 
     def test_add_project_to_image_no_option(self):
         arglist = [
-            image_fakes.image_id,
+            self._image.id,
             identity_fakes.project_id,
         ]
         verifylist = [
-            ('image', image_fakes.image_id),
+            ('image', self._image.id),
             ('project', identity_fakes.project_id),
         ]
         parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@@ -393,20 +396,21 @@ class TestAddProjectToImage(TestImage):
         # data to be shown.
         columns, data = self.cmd.take_action(parsed_args)
         self.image_members_mock.create.assert_called_with(
-            image_fakes.image_id,
+            self._image.id,
             identity_fakes.project_id
         )
+
         self.assertEqual(self.columns, columns)
         self.assertEqual(self.datalist, data)
 
     def test_add_project_to_image_with_option(self):
         arglist = [
-            image_fakes.image_id,
+            self._image.id,
             identity_fakes.project_id,
             '--project-domain', identity_fakes.domain_id,
         ]
         verifylist = [
-            ('image', image_fakes.image_id),
+            ('image', self._image.id),
             ('project', identity_fakes.project_id),
             ('project_domain', identity_fakes.domain_id),
         ]
@@ -417,7 +421,7 @@ class TestAddProjectToImage(TestImage):
         # data to be shown.
         columns, data = self.cmd.take_action(parsed_args)
         self.image_members_mock.create.assert_called_with(
-            image_fakes.image_id,
+            self._image.id,
             identity_fakes.project_id
         )
         self.assertEqual(self.columns, columns)