Remove vfc-catalog useless dependency packages
[vfc/nfvo/catalog.git] / catalog / packages / tests / test_ns.py
index 3f855af..c5214b6 100644 (file)
@@ -11,6 +11,7 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+
 import json
 import mock
 from rest_framework import status
@@ -464,10 +465,12 @@ class TestNsPackage(TestCase):
 
         resp = self.client.get("/api/catalog/v1/nspackages")
         self.assertEqual(resp.status_code, status.HTTP_200_OK)
-        self.assertEqual({"csars": [{"csarId":"13", "nsdId": "2"}]}, resp.data)
+        self.assertEqual({"csars": [{"csarId":"13", "nsdId": "2",
+            "nsdProvider": "3", "nsdVersion": "4"}]}, resp.data)
 
     def test_ns_pkg_get_one(self):
-        NSPackageModel(nsPackageId="14", nsdId="2", nsdDesginer="3", nsdVersion="4").save()
+        NSPackageModel(nsPackageId="14", nsdId="2", nsdDesginer="3", 
+            nsdVersion="4", nsPackageUri="14.csar").save()
 
         resp = self.client.get("/api/catalog/v1/nspackages/14")
         self.assertEqual(resp.status_code, status.HTTP_200_OK)
@@ -475,17 +478,24 @@ class TestNsPackage(TestCase):
             "packageInfo": {
                 "nsdId": "2",
                 "nsdProvider": "3",
-                "nsdVersion": "4"
+                "nsdVersion": "4",
+                "csarName": "14.csar",
+                "downloadUrl": "http://127.0.0.1:8806/static/catalog/14/14.csar"
             }}, resp.data)
 
+    ###############################################################################################################
 
-        
-
-
-
-
-
-
-
-
+    @mock.patch.object(toscaparser, '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", 
+            {"csarId": "18", "inputs": []}, format='json')
+        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)
+        self.assertEqual(resp.data, {"error": "NS CSAR(1) does not exist."})