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:
		@@ -326,3 +326,34 @@ class TestUploadVnfPackage(TestVnfPackage):
 | 
			
		||||
                          self.upload_vnf_package.take_action, parsed_args)
 | 
			
		||||
        # Delete temporary folder
 | 
			
		||||
        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,
 | 
			
		||||
            content_type=self.content_type())
 | 
			
		||||
 | 
			
		||||
        if ('application/json' in resp.headers.get('Content-Type',
 | 
			
		||||
                                                   'application/json')):
 | 
			
		||||
            self.format = 'json'
 | 
			
		||||
 | 
			
		||||
        status_code = resp.status_code
 | 
			
		||||
        if status_code in (requests.codes.ok,
 | 
			
		||||
                           requests.codes.created,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user