Fix vnf package get logic 85/21285/3
authorfujinhua <fu.jinhua@zte.com.cn>
Mon, 30 Oct 2017 12:46:14 +0000 (20:46 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Mon, 30 Oct 2017 13:05:14 +0000 (21:05 +0800)
Change-Id: Ice421da4c2dfc48257c8b584a5c1997207af02b5
Issue-Id: VFC-570
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
lcm/packages/sdc_nf_package.py
lcm/packages/tests/test_sdc_nf.py

index a7ef387..0eeea4f 100644 (file)
@@ -22,7 +22,7 @@ import traceback
 from lcm.pub.config.config import CATALOG_ROOT_PATH
 from lcm.pub.database.models import NfPackageModel, NfInstModel
 from lcm.pub.exceptions import NSLCMException
-from lcm.pub.msapi import sdc
+from lcm.pub.msapi import sdc, sdc_run_catalog
 from lcm.pub.utils import fileutil
 from lcm.pub.utils import toscaparser
 from lcm.pub.utils.jobutil import JobUtil
@@ -204,6 +204,7 @@ class SdcNfPackage(object):
         return [0, csars]
 
     def get_csar(self, csar_id):
+        """
         pkg_info = {}
         nf_pkg = NfPackageModel.objects.filter(nfpackageid=csar_id)
         if nf_pkg:
@@ -211,6 +212,9 @@ class SdcNfPackage(object):
             pkg_info["vnfdProvider"] = nf_pkg[0].vendor
             pkg_info["vnfdVersion"] = nf_pkg[0].vnfdversion
             pkg_info["vnfVersion"] = nf_pkg[0].vnfversion
+        """
+        nf_pkg = sdc_run_catalog.query_vnfpackage_by_id(csar_id)
+        pkg_info = nf_pkg["packageInfo"]
 
         vnf_insts = NfInstModel.objects.filter(package_id=csar_id)
         vnf_inst_info = [{"vnfInstanceId": vnf_inst.nfinstid,
index ae5b3d8..6c95b85 100644 (file)
@@ -316,9 +316,18 @@ class TestNfPackage(TestCase):
         self.assertEqual(resp.status_code, status.HTTP_200_OK)
         self.assertEqual({"csars": [{"csarId": "3", "vnfdId": "4"}]}, resp.data)
 
-    def test_nf_pkg_get_one(self):
+    @mock.patch.object(restcall, 'call_req')
+    def test_nf_pkg_get_one(self, mock_call_req):
         NfPackageModel(uuid="4", nfpackageid="4", vnfdid="5", vendor="6", vnfdversion="7", vnfversion="8").save()
         NfInstModel(nfinstid="1", package_id="4", nf_name="3").save()
+        mock_call_req.return_value = [0, json.JSONEncoder().encode({
+            "packageInfo": {
+                "vnfdId": "5",
+                "vnfdProvider": "6",
+                "vnfdVersion": "7",
+                "vnfVersion": "8"
+            }
+        }), '200']
 
         resp = self.client.get("/api/nslcm/v1/vnfpackage/4")
         self.assertEqual(resp.status_code, status.HTTP_200_OK)