Fix blob upload output

Current output after blob upload is incorrect: It contains artifact related
parameters like id, name and version in blob output. This code brings it to
a common format.

Change-Id: I7ae7537f89d3f63fffe03ca5e8ce0c0dc27c497f
This commit is contained in:
Mike Fedosin 2016-09-23 19:10:24 +03:00
parent ecaf0632c6
commit 843052baf5
3 changed files with 55 additions and 26 deletions

View File

@ -90,13 +90,7 @@ class UploadBlob(command.ShowOne):
data = client.artifacts.get(parsed_args.id,
type_name=parsed_args.type_name)
size = data[parsed_args.blob_property].pop('size', None)
data_to_display = {'blob_property': parsed_args.blob_property,
'id': parsed_args.id,
'name': data['name'],
'version': data['version'],
'status': data['status'],
'size': utils.make_size_human_readable(size)}
data_to_display = {'blob_property': parsed_args.blob_property}
data_to_display.update(data[parsed_args.blob_property])
return self.dict2columns(data_to_display)

View File

@ -20,6 +20,17 @@ from glareclient.common import utils as g_utils
import mock
from osc_lib.tests import utils
blob_fixture = {
"status": "active",
"url": "fake_url",
"md5": "35d83e8eedfbdb87ff97d1f2761f8ebf",
"sha1": "942854360eeec1335537702399c5aed940401602",
"sha256": "d8a7834fc6652f316322d80196f6dcf2"
"94417030e37c15412e4deb7a67a367dd",
"external": False,
"content_type": "application/octet-stream",
"size": 594}
def mock_list(*args, **kwargs):
return [{'id': 'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
@ -43,11 +54,11 @@ def mock_get(*args, **kwargs):
'owner': 'f649c77999e449e89627024f71b76603',
'visibility': 'private',
'status': 'active',
'blob': {'size': 1},
'image': {'size': 1},
'package': {'size': 1},
'template': {'size': 1},
'environment': {'size': 1}}
'blob': blob_fixture,
'image': blob_fixture,
'package': blob_fixture,
'template': blob_fixture,
'environment': blob_fixture}
def mock_g_servs(*args, **kwargs):

View File

@ -37,12 +37,16 @@ class TestUploadBlob(TestBlobs):
# Command to test
self.cmd = osc_blob.UploadBlob(self.app, None)
self.COLUMNS = ('blob_property', 'id', 'name',
'size', 'status', 'version')
self.COLUMNS = ('blob_property', 'content_type', 'external',
'md5', 'sha1', 'sha256', 'size', 'status', 'url')
def test_upload_images(self):
exp_data = ('image', 'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'art1', '1B', 'active', '0.0.0')
exp_data = ('image', 'application/octet-stream', False,
'35d83e8eedfbdb87ff97d1f2761f8ebf',
'942854360eeec1335537702399c5aed940401602',
'd8a7834fc6652f316322d80196f6dcf2'
'94417030e37c15412e4deb7a67a367dd',
594, 'active', 'fake_url')
arglist = ['images',
'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'--blob', '/path/to/file']
@ -54,8 +58,12 @@ class TestUploadBlob(TestBlobs):
self.assertEqual(exp_data, data)
def test_upload_tosca_template(self):
exp_data = ('template', 'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'art1', '1B', 'active', '0.0.0')
exp_data = ('template', 'application/octet-stream', False,
'35d83e8eedfbdb87ff97d1f2761f8ebf',
'942854360eeec1335537702399c5aed940401602',
'd8a7834fc6652f316322d80196f6dcf2'
'94417030e37c15412e4deb7a67a367dd',
594, 'active', 'fake_url')
arglist = ['tosca_templates',
'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'--blob', '/path/to/file']
@ -67,8 +75,12 @@ class TestUploadBlob(TestBlobs):
self.assertEqual(exp_data, data)
def test_upload_heat_template(self):
exp_data = ('template', 'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'art1', '1B', 'active', '0.0.0')
exp_data = ('template', 'application/octet-stream', False,
'35d83e8eedfbdb87ff97d1f2761f8ebf',
'942854360eeec1335537702399c5aed940401602',
'd8a7834fc6652f316322d80196f6dcf2'
'94417030e37c15412e4deb7a67a367dd',
594, 'active', 'fake_url')
arglist = ['heat_templates',
'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'--blob', '/path/to/file']
@ -80,8 +92,12 @@ class TestUploadBlob(TestBlobs):
self.assertEqual(exp_data, data)
def test_upload_environment(self):
exp_data = ('environment', 'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'art1', '1B', 'active', '0.0.0')
exp_data = ('environment', 'application/octet-stream', False,
'35d83e8eedfbdb87ff97d1f2761f8ebf',
'942854360eeec1335537702399c5aed940401602',
'd8a7834fc6652f316322d80196f6dcf2'
'94417030e37c15412e4deb7a67a367dd',
594, 'active', 'fake_url')
arglist = ['heat_environments',
'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'--blob', '/path/to/file']
@ -93,8 +109,12 @@ class TestUploadBlob(TestBlobs):
self.assertEqual(exp_data, data)
def test_upload_package(self):
exp_data = ('package', 'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'art1', '1B', 'active', '0.0.0')
exp_data = ('package', 'application/octet-stream', False,
'35d83e8eedfbdb87ff97d1f2761f8ebf',
'942854360eeec1335537702399c5aed940401602',
'd8a7834fc6652f316322d80196f6dcf2'
'94417030e37c15412e4deb7a67a367dd',
594, 'active', 'fake_url')
arglist = ['murano_packages',
'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'--blob', '/path/to/file']
@ -116,8 +136,12 @@ class TestUploadBlob(TestBlobs):
self.cmd.take_action(parsed_args)
def test_upload_blob_with_blob_prop(self):
exp_data = ('blob', 'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'art1', '1B', 'active', '0.0.0')
exp_data = ('blob', 'application/octet-stream', False,
'35d83e8eedfbdb87ff97d1f2761f8ebf',
'942854360eeec1335537702399c5aed940401602',
'd8a7834fc6652f316322d80196f6dcf2'
'94417030e37c15412e4deb7a67a367dd',
594, 'active', 'fake_url')
arglist = ['sample_artifact',
'fc15c365-d4f9-4b8b-a090-d9e230f1f6ba',
'--blob', '/path/to/file',