ret= None
try:
nf_pkg = VnfPackageModel.objects.filter(vnfPackageId=csar_id)
- if nf_pkg:
- csar_path = nf_pkg[0].localFilePath
- ret = {"model": toscaparser.parse_vnfd(csar_path, inputs)}
+ if not nf_pkg:
+ raise CatalogException("VNF CSAR(%s) does not exist." % csar_id)
+ csar_path = nf_pkg[0].localFilePath
+ ret = {"model": toscaparser.parse_vnfd(csar_path, inputs)}
except CatalogException as e:
return [1, e.message]
except:
{"csarId": "8", "inputs": []}, format='json')
self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
self.assertEqual({"model": '{"c": "d"}'}, resp.data)
+
+ def test_vnfd_parse_when_csar_not_exist(self):
+ resp = self.client.post("/api/catalog/v1/parservnfd",
+ {"csarId": "1", "inputs": []}, format='json')
+ self.assertEqual(resp.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
+ self.assertEqual(resp.data, {"error": "VNF CSAR(1) does not exist."})