Parse blob dict upload output right
Change-Id: Ie9aca92820d35576862a5580fc4de8b3237cba03
This commit is contained in:
parent
6ed07b9320
commit
68ed374835
|
@ -120,7 +120,11 @@ class UploadBlob(command.ShowOne):
|
||||||
data = client.artifacts.get(af_id, type_name=parsed_args.type_name)
|
data = client.artifacts.get(af_id, type_name=parsed_args.type_name)
|
||||||
|
|
||||||
data_to_display = {'blob_property': parsed_args.blob_property}
|
data_to_display = {'blob_property': parsed_args.blob_property}
|
||||||
data_to_display.update(data[parsed_args.blob_property])
|
if '/' in parsed_args.blob_property:
|
||||||
|
dict_name, __, key_name = parsed_args.blob_property.partition('/')
|
||||||
|
data_to_display.update(data[dict_name][key_name])
|
||||||
|
else:
|
||||||
|
data_to_display.update(data[parsed_args.blob_property])
|
||||||
return self.dict2columns(data_to_display)
|
return self.dict2columns(data_to_display)
|
||||||
|
|
||||||
|
|
||||||
|
@ -272,5 +276,9 @@ class AddLocation(command.ShowOne):
|
||||||
type_name=parsed_args.type_name)
|
type_name=parsed_args.type_name)
|
||||||
|
|
||||||
data_to_display = {'blob_property': parsed_args.blob_property}
|
data_to_display = {'blob_property': parsed_args.blob_property}
|
||||||
data_to_display.update(data[parsed_args.blob_property])
|
if '/' in parsed_args.blob_property:
|
||||||
|
dict_name, __, key_name = parsed_args.blob_property.partition('/')
|
||||||
|
data_to_display.update(data[dict_name][key_name])
|
||||||
|
else:
|
||||||
|
data_to_display.update(data[parsed_args.blob_property])
|
||||||
return self.dict2columns(data_to_display)
|
return self.dict2columns(data_to_display)
|
||||||
|
|
|
@ -184,6 +184,30 @@ class TestUploadBlob(TestBlobs):
|
||||||
self.assertEqual(self.COLUMNS, columns)
|
self.assertEqual(self.COLUMNS, columns)
|
||||||
self.assertEqual(exp_data, data)
|
self.assertEqual(exp_data, data)
|
||||||
|
|
||||||
|
def test_upload_blob_dict(self):
|
||||||
|
exp_data = ('nested_templates/blob', 'application/octet-stream',
|
||||||
|
False,
|
||||||
|
'35d83e8eedfbdb87ff97d1f2761f8ebf',
|
||||||
|
'942854360eeec1335537702399c5aed940401602',
|
||||||
|
'd8a7834fc6652f316322d80196f6dcf2'
|
||||||
|
'94417030e37c15412e4deb7a67a367dd',
|
||||||
|
594, 'active', 'fake_url')
|
||||||
|
arglist = ['images',
|
||||||
|
'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
|
||||||
|
'--file', '/path/to/file',
|
||||||
|
'--blob-property', 'nested_templates/blob']
|
||||||
|
verify = [('type_name', 'images')]
|
||||||
|
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verify)
|
||||||
|
self.app.client_manager.artifact.artifacts.get = \
|
||||||
|
lambda *args, **kwargs: {
|
||||||
|
'nested_templates': {'blob': fakes.blob_fixture}
|
||||||
|
}
|
||||||
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
self.app.client_manager.artifact.artifacts.get = fakes.mock_get
|
||||||
|
self.assertEqual(self.COLUMNS, columns)
|
||||||
|
self.assertEqual(exp_data, data)
|
||||||
|
|
||||||
|
|
||||||
class TestDownloadBlob(TestBlobs):
|
class TestDownloadBlob(TestBlobs):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
@ -262,3 +286,23 @@ class TestAddLocation(TestBlobs):
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verify)
|
parsed_args = self.check_parser(self.cmd, arglist, verify)
|
||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
self.assertEqual(self.COLUMNS, columns)
|
self.assertEqual(self.COLUMNS, columns)
|
||||||
|
|
||||||
|
def test_add_dict_location(self):
|
||||||
|
arglist = ['images',
|
||||||
|
'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba', '--id',
|
||||||
|
'--blob-property', 'nested_templates/blob',
|
||||||
|
'--url', 'fake_url',
|
||||||
|
'--md5', "35d83e8eedfbdb87ff97d1f2761f8ebf",
|
||||||
|
'--sha1', "942854360eeec1335537702399c5aed940401602",
|
||||||
|
'--sha256', "d8a7834fc6652f316322d80196f6dcf2"
|
||||||
|
"94417030e37c15412e4deb7a67a367dd"]
|
||||||
|
verify = [('type_name', 'images'), ('url', 'fake_url')]
|
||||||
|
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verify)
|
||||||
|
self.app.client_manager.artifact.artifacts.get = \
|
||||||
|
lambda *args, **kwargs: {
|
||||||
|
'nested_templates': {'blob': fakes.blob_fixture}
|
||||||
|
}
|
||||||
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
self.app.client_manager.artifact.artifacts.get = fakes.mock_get
|
||||||
|
self.assertEqual(self.COLUMNS, columns)
|
||||||
|
|
Loading…
Reference in New Issue