summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorlin-hua-cheng <os.lcheng@gmail.com>2015-10-22 17:32:45 -0700
committerlin-hua-cheng <os.lcheng@gmail.com>2015-10-23 00:15:19 -0700
commit12668b3dababed103c3ad74fee4b7e81d4be1de3 (patch)
tree9e6df12e8253e6b899d5ea5b75935f2209cb3fae /openstackclient
parent3ad2f856146897ac544b74b3a119e1808e781905 (diff)
downloadpython-openstackclient-12668b3dababed103c3ad74fee4b7e81d4be1de3.tar.gz
Fix issue when displaying image_member
image_member doesn't have a _info attribute, glanceclient returns warlock object instead of a Resource object. Change-Id: If6e7c4bd404454bd6cbe8c111879c1afa1380211 Closes-Bug: #1509054
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/image/v2/image.py2
-rw-r--r--openstackclient/tests/fakes.py8
-rw-r--r--openstackclient/tests/image/v2/test_image.py4
3 files changed, 10 insertions, 4 deletions
diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py
index 7d8b1412..a846f4b3 100644
--- a/openstackclient/image/v2/image.py
+++ b/openstackclient/image/v2/image.py
@@ -105,7 +105,7 @@ class AddProjectToImage(show.ShowOne):
project_id,
)
- return zip(*sorted(six.iteritems(image_member._info)))
+ return zip(*sorted(six.iteritems(image_member)))
class CreateImage(show.ShowOne):
diff --git a/openstackclient/tests/fakes.py b/openstackclient/tests/fakes.py
index 357c470f..0f5ef74a 100644
--- a/openstackclient/tests/fakes.py
+++ b/openstackclient/tests/fakes.py
@@ -150,3 +150,11 @@ class FakeResponse(requests.Response):
self._content = json.dumps(data)
if not isinstance(self._content, six.binary_type):
self._content = self._content.encode()
+
+
+class FakeModel(dict):
+ def __getattr__(self, key):
+ try:
+ return self[key]
+ except KeyError:
+ raise AttributeError(key)
diff --git a/openstackclient/tests/image/v2/test_image.py b/openstackclient/tests/image/v2/test_image.py
index 4ce85475..72ba0567 100644
--- a/openstackclient/tests/image/v2/test_image.py
+++ b/openstackclient/tests/image/v2/test_image.py
@@ -238,10 +238,8 @@ class TestAddProjectToImage(TestImage):
copy.deepcopy(image_fakes.IMAGE),
loaded=True,
)
- self.image_members_mock.create.return_value = fakes.FakeResource(
- None,
+ self.image_members_mock.create.return_value = fakes.FakeModel(
copy.deepcopy(image_fakes.MEMBER),
- loaded=True,
)
self.project_mock.get.return_value = fakes.FakeResource(
None,