Refactor code logic in nfvolcm.py 89/13789/1
authorying.yunlong <ying.yunlong@zte.com.cn>
Wed, 20 Sep 2017 08:30:53 +0000 (16:30 +0800)
committerying.yunlong <ying.yunlong@zte.com.cn>
Wed, 20 Sep 2017 08:30:53 +0000 (16:30 +0800)
Change-Id: Iabf0742c5756c4aa46a11b2812956bd8963c2de0
Issue-ID: VFC-401
Signed-off-by: ying.yunlong <ying.yunlong@zte.com.cn>
catalog/packages/tests.py
catalog/pub/msapi/nfvolcm.py

index 8482eb0..6c8d4ae 100644 (file)
@@ -175,27 +175,27 @@ class PackageTest(unittest.TestCase):
         self.assertEqual("Delete CSAR(123) successfully.", response.data["statusDescription"], response.content)
         self.assert_nsdmodel_result("VCPE_NS",  0)
 
-    def test_nf_package_delete_error(self):
-        # Delete it directly
-        self.assert_nfmodel_result("bb",0)
-        NfPkgDeleteThread("bb", "6", False).run()
-        self.assert_job_result("6", 100, "Error! CSAR(bb) does not exist.")
-
-
-    @mock.patch.object(NfDistributeThread, 'get_vnfd')
-    def test_nf_package_delete(self,mock_get_vnfd):
-        # First distribute a VNF
-        local_file_name = "/url/local/filename"
-        vnfd = json.JSONEncoder().encode(vnfd_json)
-        mock_get_vnfd.return_value = vnfd_json,local_file_name,vnfd
-
-        NfDistributeThread("bb", ["1"], "1", "5").run()
-        self.assert_job_result("5", 100, "CSAR(bb) distribute successfully.")
-        self.assert_nfmodel_result("bb",1)
-
-        # Then delete it
-        NfPkgDeleteThread("bb", "6", False).run()
-        self.assert_nfmodel_result("bb",0)
+    def test_nf_package_delete_error(self):
+        # Delete it directly
+        self.assert_nfmodel_result("bb",0)
+        NfPkgDeleteThread("bb", "6", False).run()
+        self.assert_job_result("6", 100, "Error! CSAR(bb) does not exist.")
+    #
+    #
+    @mock.patch.object(NfDistributeThread, 'get_vnfd')
+    def test_nf_package_delete(self,mock_get_vnfd):
+        # First distribute a VNF
+        local_file_name = "/url/local/filename"
+        vnfd = json.JSONEncoder().encode(vnfd_json)
+        mock_get_vnfd.return_value = vnfd_json,local_file_name,vnfd
+    #
+        NfDistributeThread("bb", ["1"], "1", "5").run()
+        self.assert_job_result("5", 100, "CSAR(bb) distribute successfully.")
+        self.assert_nfmodel_result("bb",1)
+    #
+        # Then delete it
+        NfPkgDeleteThread("bb", "6", False).run()
+        self.assert_nfmodel_result("bb",0)
 
     def assert_job_result(self, job_id, job_progress, job_detail):
         jobs = JobStatusModel.objects.filter(
@@ -212,44 +212,44 @@ class PackageTest(unittest.TestCase):
         vnfdmodels = VnfPackageModel.objects.filter(vnfPackageId = csar_id)
         self.assertEquals(size, len(vnfdmodels))
 
-    @mock.patch.object(NfDistributeThread, 'get_vnfd')
-    def test_nf_package_parser(self, mock_get_vnfd):
-        # First distribute a VNF
-        template_file_name = "resource-TestFyx-template.yml"
-        local_file_name = os.path.join(os.path.dirname(__file__), template_file_name)
-        vnfd = json.JSONEncoder().encode(vnfd_json)
-        mock_get_vnfd.return_value = vnfd_json,local_file_name,vnfd
-        NfDistributeThread(str(self.nf_csarId), ["1"], "1", "4").run()
-        self.assert_nfmodel_result(str(self.nf_csarId), 1)
-        reqdata={"csarId":"456"}
-        #response = self.client.post("/api/catalog/v1/parservnfd",reqdata)
-        #self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)
-
-    @mock.patch.object(NfDistributeThread, 'get_vnfd')
-    @mock.patch.object(NsPackage,'get_nsd')
-    def test_ns_package_parser(self, mock_get_nsd,mock_get_vnfd):
-        # First distribute a VNF
-        template_file_name = "resource-TestFyx-template.yml"
-        local_file_name = os.path.join(os.path.dirname(__file__), template_file_name)
-        vnfd = json.JSONEncoder().encode(vnfd_json)
-        mock_get_vnfd.return_value = vnfd_json,local_file_name,vnfd
-        NfDistributeThread(str(self.nf_csarId), ["1"], "1", "4").run()
-        self.assert_nfmodel_result(str(self.nf_csarId), 1)
-
-        # Then distribute a NS associated with the below VNF
-        template_file_name = "service-TestServiceFyx-template.yml"
-        local_file_name = os.path.join(os.path.dirname(__file__), template_file_name)
-        nsd = json.JSONEncoder().encode(nsd_json)
-        mock_get_nsd.return_value = nsd_json,local_file_name,nsd
-        response = self.client.post("/api/catalog/v1/nspackages",self.nsdata)
-        self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)
-        self.assertEqual("CSAR(123) distributed successfully.", response.data["statusDescription"], response.content)
-        self.assert_nfmodel_result(str(self.nf_csarId), 1)
-        self.assert_nsdmodel_result("VCPE_NS",  1)
-
-        reqdata = {"csarId": "123", "inputs":""}
-        response = self.client.post("/api/catalog/v1/parsernsd",reqdata)
-        #self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)
+    @mock.patch.object(NfDistributeThread, 'get_vnfd')
+    def test_nf_package_parser(self, mock_get_vnfd):
+        # First distribute a VNF
+        template_file_name = "resource-TestFyx-template.yml"
+        local_file_name = os.path.join(os.path.dirname(__file__), template_file_name)
+        vnfd = json.JSONEncoder().encode(vnfd_json)
+        mock_get_vnfd.return_value = vnfd_json,local_file_name,vnfd
+        NfDistributeThread(str(self.nf_csarId), ["1"], "1", "4").run()
+        self.assert_nfmodel_result(str(self.nf_csarId), 1)
+        reqdata={"csarId":"456"}
+        #response = self.client.post("/api/catalog/v1/parservnfd",reqdata)
+        #self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)
+    #
+    @mock.patch.object(NfDistributeThread, 'get_vnfd')
+    @mock.patch.object(NsPackage,'get_nsd')
+    def test_ns_package_parser(self, mock_get_nsd,mock_get_vnfd):
+        # First distribute a VNF
+        template_file_name = "resource-TestFyx-template.yml"
+        local_file_name = os.path.join(os.path.dirname(__file__), template_file_name)
+        vnfd = json.JSONEncoder().encode(vnfd_json)
+        mock_get_vnfd.return_value = vnfd_json,local_file_name,vnfd
+        NfDistributeThread(str(self.nf_csarId), ["1"], "1", "4").run()
+        self.assert_nfmodel_result(str(self.nf_csarId), 1)
+    #
+        # Then distribute a NS associated with the below VNF
+        template_file_name = "service-TestServiceFyx-template.yml"
+        local_file_name = os.path.join(os.path.dirname(__file__), template_file_name)
+        nsd = json.JSONEncoder().encode(nsd_json)
+        mock_get_nsd.return_value = nsd_json,local_file_name,nsd
+        response = self.client.post("/api/catalog/v1/nspackages",self.nsdata)
+        self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)
+        self.assertEqual("CSAR(123) distributed successfully.", response.data["statusDescription"], response.content)
+        self.assert_nfmodel_result(str(self.nf_csarId), 1)
+        self.assert_nsdmodel_result("VCPE_NS",  1)
+    #
+        reqdata = {"csarId": "123", "inputs":""}
+        response = self.client.post("/api/catalog/v1/parsernsd",reqdata)
+        #self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)
 
 
 nsd_json = {
index 14aa327..33e169c 100644 (file)
@@ -17,25 +17,26 @@ import logging
 from catalog.pub.exceptions import CatalogException
 from catalog.pub.utils import restcall
 from catalog.pub.config.config import NFVOLCM_BASE_URL,NFVOLCM_USER,NFVOLCM_PASSWD
+from catalog.pub.utils.restcall import req_by_msb
 
 logger = logging.getLogger(__name__)
 
-ASSETTYPE_RESOURCES = "resources"
-ASSETTYPE_SERVICES = "services"
+ASSETTYPE_RESOURCES = "resources"
+ASSETTYPE_SERVICES = "services"
 
 
-def call_lcm(resource, method, content=''):
-    return restcall.call_req(base_url=NFVOLCM_BASE_URL,
-        user="",
-        passwd="",
-        auth_type=restcall.rest_no_auth,
-        resource=resource,
-        method=method,
-        content=content)
+def call_lcm(resource, method, content=''):
+    return restcall.call_req(base_url=NFVOLCM_BASE_URL,
+        user="",
+        passwd="",
+        auth_type=restcall.rest_no_auth,
+        resource=resource,
+        method=method,
+        content=content)
 
 
 def get_nsInstances(csarid):
-    ret=call_lcm("/nslcm/v1/ns?nsPackageId=%s"% csarid,"get")
+    ret=req_by_msb("/nslcm/v1/ns?nsPackageId=%s"% csarid, "GET")
     if ret[0] != 0:
         logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
         raise CatalogException("Failed to query NS Instances(%s) from NSLCM." % csarid)
@@ -43,52 +44,18 @@ def get_nsInstances(csarid):
 
 
 def get_vnfInstances(csarid):
-    ret=call_lcm("/nslcm/v1/vnfs?vnfPackageId=%s"% csarid,"get")
+    ret=req_by_msb("/nslcm/v1/vnfs?vnfPackageId=%s"% csarid, "GET")
     if ret[0] != 0:
         logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
         raise CatalogException("Failed to query VNF Instances(%s) from NSLCM." % csarid)
     return json.JSONDecoder().decode(ret[1])
 
 
-# Mock code because the REST API from nfvolcm to delete ns instance is not implemented
-def delete_ns_inst_mock():
-    return [0,'success']
-
-
-# Mock code because the REST API from nfvolcm to delete nf instance is not implemented
-def delete_nf_inst_mock():
-    return [0,'success']
-
-
-def delete_ns(asset_type):
-    resource = "/nfvolcm/v1/ns/"
-    resource = resource.format(assetType=asset_type)
-    ret = call_lcm(resource, "DELETE")
-    if ret[0] != 0:
-        logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
-        raise CatalogException("Failed to query artifacts(%s) from sdc." % asset_type)
-    return json.JSONDecoder().decode(ret[1])
-
-
-def getNsInsts_mock():
-    return [
-        {
-            "nsInstanceId":1,
-            "nsInstanceName":"vnf1"
-        },
-        {
-            "nsInstanceId": 2,
-            "nsInstanceName": "vnf2"
-        }]
-
-
-def getNfInsts_mock():
-    return [
-        {
-            "vnfInstanceId":1,
-            "vnfInstanceName":"vnf1"
-        },
-        {
-            "vnfInstanceId": 2,
-            "vnfInstanceName": "vnf2"
-        }]
+# def delete_ns(asset_type):
+#     resource = "/nfvolcm/v1/ns/"
+#     resource = resource.format(assetType=asset_type)
+#     ret = req_by_msb(resource, "DELETE")
+#     if ret[0] != 0:
+#         logger.error("Status code is %s, detail is %s.", ret[2], ret[1])
+#         raise CatalogException("Failed to query artifacts(%s) from sdc." % asset_type)
+#     return json.JSONDecoder().decode(ret[1])