diff options
author | 2017-09-23 10:10:19 +0800 | |
---|---|---|
committer | 2017-09-23 10:10:19 +0800 | |
commit | 038372f59da68f6e85cbb5670e6026447eda97a5 (patch) | |
tree | a9dfc7f7ec74288e231d338ca0a3a80c5d03a607 | |
parent | 28fc25c700e703774bffcab6b96ca9985173283d (diff) |
Add catalog UT for vnfd parse
Change-Id: I8b4965c852f1293c68b1ac5b20d67a06662e8efa
Issue-Id: VFC-439
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r-- | catalog/packages/nf_package.py | 7 | ||||
-rw-r--r-- | catalog/packages/tests/test_nf.py | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/catalog/packages/nf_package.py b/catalog/packages/nf_package.py index f86f679e..a0e163a2 100644 --- a/catalog/packages/nf_package.py +++ b/catalog/packages/nf_package.py @@ -58,9 +58,10 @@ def parse_vnfd(csar_id, inputs): 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: diff --git a/catalog/packages/tests/test_nf.py b/catalog/packages/tests/test_nf.py index 657806ff..0e82d3e7 100644 --- a/catalog/packages/tests/test_nf.py +++ b/catalog/packages/tests/test_nf.py @@ -343,3 +343,9 @@ class TestNfPackage(TestCase): {"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."}) |