Deal with nfPackage 03/62303/3
authorbiancunkang <bian.cunkang@zte.com.cn>
Fri, 24 Aug 2018 11:29:44 +0000 (19:29 +0800)
committerFu Jinhua <fu.jinhua@zte.com.cn>
Mon, 27 Aug 2018 00:56:03 +0000 (00:56 +0000)
Add a test

Change-Id: Ie8400b2429e4785e52b2e3bc9a4eb2650c844462
Issue-ID: VFC-1038
Signed-off-by: biancunkang <bian.cunkang@zte.com.cn>
catalog/packages/biz/vnf_package.py
catalog/packages/tests/test_vnf_package.py

index d601e69..d63df9a 100644 (file)
@@ -70,18 +70,17 @@ def query_single(vnf_pkg_id):
         raise CatalogException('VNF package(%s) does not exist.' % vnf_pkg_id)
     pkg_info["id"] = nf_pkg[0].vnfPackageId
     pkg_info["vnfdId"] = nf_pkg[0].vnfdId
-    pkg_info["vnfdProvider"] = nf_pkg[0].vnfVendor
     pkg_info["vnfProductName"] = nf_pkg[0].vnfdProductName
     pkg_info["vnfSoftwareVersion"] = nf_pkg[0].vnfSoftwareVersion
     pkg_info["vnfdVersion"] = nf_pkg[0].vnfdVersion
-    pkg_info["checksum"] = nf_pkg[0].checksum
-    pkg_info["softwareImages"] = ""  # TODO
-    pkg_info["additionalArtifacts"] = ""  # TODO
+    pkg_info["checksum"] = json.JSONDecoder().decode(nf_pkg[0].checksum)
+    pkg_info["softwareImages"] = None  # TODO
+    pkg_info["additionalArtifacts"] = None  # TODO
     pkg_info["onboardingState"] = nf_pkg[0].onboardingState
     pkg_info["operationalState"] = nf_pkg[0].operationalState
     pkg_info["usageState"] = nf_pkg[0].usageState
-    pkg_info["userDefinedData"] = nf_pkg[0].userDefinedData
-    pkg_info["_links"] = ""  # TODO
+    pkg_info["userDefinedData"] = json.JSONDecoder().decode(nf_pkg[0].userDefinedData)
+    pkg_info["_links"] = None  # TODO
     return pkg_info
 
 
index 7191ba8..cf49b89 100644 (file)
@@ -295,3 +295,36 @@ class TestVnfPackage(TestCase):
         }
         self.assertEqual(expect_resp_data, resp_data)
         self.assertEqual(response.status_code, status.HTTP_201_CREATED)
+
+    def test_query_single_vnf(self):
+        VnfPackageModel.objects.create(
+            vnfPackageId="222",
+            vnfdId="zte-hss-1.0",
+            vnfVendor="zte",
+            vnfdProductName="hss",
+            vnfSoftwareVersion="1.0.0",
+            vnfdVersion="1.0.0",
+            checksum='{"algorithm":"111", "hash": "11"}',
+            onboardingState="CREATED",
+            operationalState="DISABLED",
+            usageState="NOT_IN_USE",
+            userDefinedData='{"a": "A"}'
+        )
+        response = self.client.get("/api/vnfpkgm/v1/vnf_packages/222")
+        expect_data = {
+            "id": "222",
+            "vnfdId": "zte-hss-1.0",
+            "vnfProductName": "hss",
+            "vnfSoftwareVersion": "1.0.0",
+            "vnfdVersion": "1.0.0",
+            "checksum": {"algorithm": "111", "hash": "11"},
+            "softwareImages": None,
+            "additionalArtifacts": None,
+            "onboardingState": "CREATED",
+            "operationalState": "DISABLED",
+            "usageState": "NOT_IN_USE",
+            "userDefinedData": {"a": "A"},
+            "_links": None
+        }
+        self.assertEqual(response.data, expect_data)
+        self.assertEqual(response.status_code, status.HTTP_200_OK)