Add UT cases for nsd parse 65/14765/1
authorfujinhua <fu.jinhua@zte.com.cn>
Sat, 23 Sep 2017 01:44:55 +0000 (09:44 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Sat, 23 Sep 2017 01:44:55 +0000 (09:44 +0800)
Change-Id: Icf68fa98592001a813fd3ad56878ffb341ee6a27
Issue-id: VFC-437
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
catalog/packages/ns_package.py
catalog/packages/tests/test_ns.py

index bdd7bdc..db44b2f 100644 (file)
@@ -88,9 +88,10 @@ def parse_nsd(csar_id, inputs):
     ret= None
     try:
         ns_pkg = NSPackageModel.objects.filter(nsPackageId=csar_id)
-        if ns_pkg:
-            csar_path = ns_pkg[0].localFilePath
-            ret = {"model": toscaparser.parse_nsd(csar_path, inputs)}
+        if not ns_pkg:
+            raise CatalogException("CSAR(%s) does not exist." % csar_id)
+        csar_path = ns_pkg[0].localFilePath
+        ret = {"model": toscaparser.parse_nsd(csar_path, inputs)}
     except CatalogException as e:
         return [1, e.message]
     except:
index 605679f..25295cb 100644 (file)
@@ -485,7 +485,7 @@ class TestNsPackage(TestCase):
     ###############################################################################################################
 
     @mock.patch.object(toscaparser, 'parse_nsd')
-    def test_nsd_parse(self, mock_parse_nsd):
+    def test_nsd_parse_normal(self, mock_parse_nsd):
         NSPackageModel(nsPackageId="18", nsdId="12").save()
         mock_parse_nsd.return_value = json.JSONEncoder().encode({"a": "b"})
         resp = self.client.post("/api/catalog/v1/parsernsd", 
@@ -493,6 +493,10 @@ class TestNsPackage(TestCase):
         self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
         self.assertEqual({"model": '{"a": "b"}'}, resp.data)
 
+    def test_nsd_parse_when_csar_not_exist(self):
+        resp = self.client.post("/api/catalog/v1/parsernsd", 
+            {"csarId": "1", "inputs": []}, format='json')
+        self.assertEqual(resp.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)