Compare against 'RequestIdProxy.wrapped'

Due to the 'glanceclient.common.utils.add_req_id_to_object' decorator,
an instance of 'glanceclient.common.utils.RequestIdProxy' is returned
for most calls in glanceclient. If we wish to compare to None, we have
to compare the contents of this wrapper and not the wrapper itself.

Unit tests are updated to highlight this.

Change-Id: I7dadf32d37ac2bda33a92c71d5882e9f23e38a82
Closes-Bug: #1736759
This commit is contained in:
Stephen Finucane 2017-12-12 10:57:24 +00:00
parent 319579b34f
commit 4dcbc30e31
2 changed files with 5 additions and 6 deletions

View File

@ -581,11 +581,10 @@ class ShellV2Test(testtools.TestCase):
args = self._make_args(
{'id': 'IMG-01', 'file': 'test', 'progress': True})
with mock.patch.object(self.gc.images, 'data') as mocked_data:
def _data():
for c in 'abcedf':
yield c
mocked_data.return_value = utils.IterableWithLength(_data(), 5)
with mock.patch.object(self.gc.images, 'data') as mocked_data, \
mock.patch.object(utils, '_extract_request_id'):
mocked_data.return_value = utils.RequestIdProxy(
[c for c in 'abcdef'])
test_shell.do_image_download(self.gc, args)
mocked_data.assert_called_once_with('IMG-01')

View File

@ -353,7 +353,7 @@ def do_image_download(gc, args):
msg = "Unable to download image '%s'. (%s)" % (args.id, e)
utils.exit(msg)
if body is None:
if body.wrapped is None:
msg = ('Image %s has no data.' % args.id)
utils.exit(msg)