diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py index 7d8b14124a..a846f4b328 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 357c470f66..0f5ef74aa0 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 4ce854759b..72ba0567b5 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,