Show proper error message for non-existing vnf package
When you pass non-existing vnf package uuid to ``vnf package upload`` command as shown below, it doesn't show user-friendly message as it's shown in case ``vnf package show`` command. $openstack vnf package upload --path sample_vnf_pkg.zip dummy-id "404-tackerFault" This patch fixes this issue and now it will output below error message: $openstack vnf package upload --path sample_vnf_pkg.zip dummy-id Can not find requested vnf package: dummy-id Change-Id: I84de0140463d6bd834d3bcc22f6a6cea1fef9130 Closes-Bug: #1799683
This commit is contained in:
parent
1d375bd49e
commit
727129d958
@ -326,3 +326,34 @@ class TestUploadVnfPackage(TestVnfPackage):
|
|||||||
self.upload_vnf_package.take_action, parsed_args)
|
self.upload_vnf_package.take_action, parsed_args)
|
||||||
# Delete temporary folder
|
# Delete temporary folder
|
||||||
shutil.rmtree(temp_dir)
|
shutil.rmtree(temp_dir)
|
||||||
|
|
||||||
|
def test_upload_vnf_package_failed_with_404_not_found(self):
|
||||||
|
# Scenario in which vnf package is not found
|
||||||
|
zip_file, temp_dir = _create_zip()
|
||||||
|
arglist = [
|
||||||
|
'dumy-id',
|
||||||
|
"--path", zip_file
|
||||||
|
]
|
||||||
|
verifylist = [
|
||||||
|
('path', zip_file),
|
||||||
|
('vnf_package', 'dumy-id')
|
||||||
|
]
|
||||||
|
|
||||||
|
parsed_args = self.check_parser(self.upload_vnf_package, arglist,
|
||||||
|
verifylist)
|
||||||
|
|
||||||
|
error_message = "Can not find requested vnf package: dummy-id"
|
||||||
|
body = {"itemNotFound": {"message": error_message, "code": 404}}
|
||||||
|
url = self.url + '/vnfpkgm/v1/vnf_packages/dumy-id/package_content'
|
||||||
|
|
||||||
|
self.requests_mock.register_uri(
|
||||||
|
'PUT', url, json=body,
|
||||||
|
status_code=404)
|
||||||
|
|
||||||
|
exception = self.assertRaises(
|
||||||
|
exceptions.TackerClientException,
|
||||||
|
self.upload_vnf_package.take_action, parsed_args)
|
||||||
|
|
||||||
|
self.assertEqual(error_message, exception.message)
|
||||||
|
# Delete temporary folder
|
||||||
|
shutil.rmtree(temp_dir)
|
||||||
|
@ -205,6 +205,10 @@ class ClientBase(object):
|
|||||||
action, method, body=body,
|
action, method, body=body,
|
||||||
content_type=self.content_type())
|
content_type=self.content_type())
|
||||||
|
|
||||||
|
if ('application/json' in resp.headers.get('Content-Type',
|
||||||
|
'application/json')):
|
||||||
|
self.format = 'json'
|
||||||
|
|
||||||
status_code = resp.status_code
|
status_code = resp.status_code
|
||||||
if status_code in (requests.codes.ok,
|
if status_code in (requests.codes.ok,
|
||||||
requests.codes.created,
|
requests.codes.created,
|
||||||
|
Loading…
Reference in New Issue
Block a user