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
This commit is contained in:
lin-hua-cheng 2015-10-22 17:32:45 -07:00
parent 3ad2f85614
commit 12668b3dab
3 changed files with 10 additions and 4 deletions

View File

@ -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):

View File

@ -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)

View File

@ -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,