aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2017-09-23 10:10:19 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2017-09-23 10:10:19 +0800
commit038372f59da68f6e85cbb5670e6026447eda97a5 (patch)
treea9dfc7f7ec74288e231d338ca0a3a80c5d03a607
parent28fc25c700e703774bffcab6b96ca9985173283d (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.py7
-rw-r--r--catalog/packages/tests/test_nf.py6
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."})