Add catalog UT for vnfd parse 77/14777/1
authorfujinhua <fu.jinhua@zte.com.cn>
Sat, 23 Sep 2017 02:05:38 +0000 (10:05 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Sat, 23 Sep 2017 02:05:38 +0000 (10:05 +0800)
Change-Id: Ie2cd717d46f73b4bacc1b74b7814d24fd13f498c
Issue-Id: VFC-439
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
catalog/packages/tests/test_nf.py
catalog/packages/views.py

index fd2cc7d..657806f 100644 (file)
@@ -331,4 +331,15 @@ class TestNfPackage(TestCase):
                 "csarName": "4.csar",
                 "downloadUrl": "http://127.0.0.1:8806/static/catalog/4/4.csar"
             }, 
-            "imageInfo": []}, resp.data)
\ No newline at end of file
+            "imageInfo": []}, resp.data)
+
+    ###############################################################################################################
+
+    @mock.patch.object(toscaparser, 'parse_vnfd')
+    def test_vnfd_parse_normal(self, mock_parse_vnfd):
+        VnfPackageModel(vnfPackageId="8", vnfdId="10").save()
+        mock_parse_vnfd.return_value = json.JSONEncoder().encode({"c": "d"})
+        resp = self.client.post("/api/catalog/v1/parservnfd", 
+            {"csarId": "8", "inputs": []}, format='json')
+        self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
+        self.assertEqual({"model": '{"c": "d"}'}, resp.data)
index 174b238..a5922d3 100644 (file)
@@ -121,7 +121,7 @@ def vnf_model_parser(request, *args, **kwargs):
     csar_id = ignore_case_get(request.data, "csarId")
     inputs = ignore_case_get(request.data, "inputs")
     logger.debug("Enter %s, csar_id=%s, inputs=%s", fun_name(), csar_id, inputs)
-    nf_package.parse_vnfd(csar_id, inputs)
+    ret = nf_package.parse_vnfd(csar_id, inputs)
     logger.info("Leave %s, Return value is %s", fun_name(), ret)
     if ret[0] != 0:
         return Response(data={'error': ret[1]}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)