update for change to etsicatalog
[modeling/etsicatalog.git] / genericparser / packages / tests / test_nspackage.py
diff --git a/genericparser/packages/tests/test_nspackage.py b/genericparser/packages/tests/test_nspackage.py
deleted file mode 100644 (file)
index 393e0f7..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 2017 ZTE Corporation.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# 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
-from django.test import TestCase
-from django.test import Client
-
-from genericparser.pub.utils import restcall, toscaparsers
-from genericparser.pub.database.models import NSPackageModel, VnfPackageModel, PnfPackageModel
-from genericparser.pub.msapi import sdc
-from .const import nsd_data
-
-
-class TestNsPackage(TestCase):
-    def setUp(self):
-        self.client = Client()
-        NSPackageModel.objects.filter().delete()
-        VnfPackageModel.objects.filter().delete()
-        self.nsd_data = nsd_data
-
-    def tearDown(self):
-        pass
-
-    def test_ns_pkg_distribute_when_ns_exists(self):
-        NSPackageModel(nsPackageId="1", nsdId="2").save()
-        resp = self.client.post(
-            "/api/parser/v1/nspackages", {"csarId": "1"}, format='json')
-        self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
-        self.assertEqual("failed", resp.data["status"])
-        self.assertEqual(
-            "NS CSAR(1) already exists.",
-            resp.data["statusDescription"])
-
-    @mock.patch.object(restcall, 'call_req')
-    def test_ns_pkg_distribute_when_csar_not_exist(self, mock_call_req):
-        mock_call_req.return_value = [0, "[]", '200']
-        resp = self.client.post(
-            "/api/parser/v1/nspackages", {"csarId": "1"}, format='json')
-        self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
-        self.assertEqual("failed", resp.data["status"])
-        self.assertEqual(
-            "Failed to query artifact(services,1) from sdc.",
-            resp.data["statusDescription"])
-
-    @mock.patch.object(restcall, 'call_req')
-    @mock.patch.object(sdc, 'download_artifacts')
-    @mock.patch.object(toscaparsers, 'parse_nsd')
-    def test_ns_pkg_distribute_when_nsd_already_exists(
-            self, mock_parse_nsd, mock_download_artifacts, mock_call_req):
-        mock_parse_nsd.return_value = json.JSONEncoder().encode(self.nsd_data)
-        mock_download_artifacts.return_value = "/home/vcpe.csar"
-        mock_call_req.return_value = [0, json.JSONEncoder().encode([{
-            "uuid": "1",
-            "toscaModelURL": "https://127.0.0.1:1234/sdc/v1/vcpe.csar",
-            "distributionStatus": "DISTRIBUTED"
-        }]), '200']
-        NSPackageModel(nsPackageId="2", nsdId="VCPE_NS").save()
-        resp = self.client.post(
-            "/api/parser/v1/nspackages", {"csarId": "1"}, format='json')
-        self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
-        self.assertEqual("failed", resp.data["status"])
-        self.assertEqual(
-            "NSD(VCPE_NS) already exists.",
-            resp.data["statusDescription"])
-
-    @mock.patch.object(restcall, 'call_req')
-    @mock.patch.object(sdc, 'download_artifacts')
-    @mock.patch.object(toscaparsers, 'parse_nsd')
-    def test_ns_pkg_distribute_when_nf_not_distributed(
-            self, mock_parse_nsd, mock_download_artifacts, mock_call_req):
-        mock_parse_nsd.return_value = json.JSONEncoder().encode(self.nsd_data)
-        mock_download_artifacts.return_value = "/home/vcpe.csar"
-        mock_call_req.return_value = [0, json.JSONEncoder().encode([{
-            "uuid": "1",
-            "toscaModelURL": "https://127.0.0.1:1234/sdc/v1/vcpe.csar",
-            "distributionStatus": "DISTRIBUTED",
-        }]), '200']
-        resp = self.client.post(
-            "/api/parser/v1/nspackages", {"csarId": "1"}, format='json')
-        self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
-        self.assertEqual("failed", resp.data["status"])
-        self.assertEqual(
-            "VNF package(vcpe_vfw_zte_1_0) is not distributed.",
-            resp.data["statusDescription"])
-
-    @mock.patch.object(restcall, 'call_req')
-    @mock.patch.object(sdc, 'download_artifacts')
-    @mock.patch.object(toscaparsers, 'parse_nsd')
-    def test_ns_pkg_distribute_when_successfully(
-            self, mock_parse_nsd, mock_download_artifacts, mock_call_req):
-        mock_parse_nsd.return_value = json.JSONEncoder().encode(self.nsd_data)
-        mock_download_artifacts.return_value = "/home/vcpe.csar"
-        mock_call_req.return_value = [0, json.JSONEncoder().encode([{
-            "uuid": "1",
-            "toscaModelURL": "https://127.0.0.1:1234/sdc/v1/vcpe.csar",
-            "distributionStatus": "DISTRIBUTED"
-        }]), '200']
-        VnfPackageModel(vnfPackageId="1", vnfdId="vcpe_vfw_zte_1_0").save()
-        PnfPackageModel(pnfPackageId="1", pnfdId="m6000_s").save()
-        resp = self.client.post(
-            "/api/parser/v1/nspackages", {"csarId": "1"}, format='json')
-        self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
-        self.assertEqual("success", resp.data["status"])
-        self.assertEqual(
-            "CSAR(1) distributed successfully.",
-            resp.data["statusDescription"])
-
-    @mock.patch.object(sdc, 'get_artifacts')
-    def test_ns_when_not_distributed_by_sdc(self, mock_get_artifacts):
-        mock_get_artifacts.return_value = [{
-            "uuid": "1",
-            "invariantUUID": "63eaec39-ffbe-411c-a838-448f2c73f7eb",
-            "name": "underlayvpn",
-            "version": "2.0",
-            "toscaModelURL": "/sdc/v1/genericparser/resources/c94490a0-f7ef-48be-b3f8-8d8662a37236/toscaModel",
-            "category": "Volte",
-            "subCategory": "VolteVNF",
-            "resourceType": "VF",
-            "lifecycleState": "CERTIFIED",
-            "distributionStatus": "DISTRIBUTION_APPROVED",
-            "lastUpdaterUserId": "jh0003"
-        }]
-        resp = self.client.post(
-            "/api/parser/v1/nspackages", {"csarId": "1"}, format='json')
-        self.assertEqual(resp.status_code, status.HTTP_202_ACCEPTED)
-        self.assertEqual("failed", resp.data["status"])
-        self.assertEqual(
-            "The artifact (services,1) is not distributed from sdc.",
-            resp.data["statusDescription"])
-
-    ##########################################################################
-
-    def test_ns_pkg_normal_delete(self):
-        NSPackageModel(nsPackageId="8", nsdId="2").save()
-        resp = self.client.delete("/api/parser/v1/nspackages/8")
-        self.assertEqual(resp.status_code, status.HTTP_200_OK)
-        self.assertEqual("success", resp.data["status"])
-        self.assertEqual(
-            "Delete CSAR(8) successfully.",
-            resp.data["statusDescription"])
-
-    def test_ns_pkg_get_all(self):
-        NSPackageModel(
-            nsPackageId="13",
-            nsdId="2",
-            nsdDesginer="2",
-            nsdVersion="2",
-            nsPackageUri="13.csar",
-            nsdModel="").save()
-        NSPackageModel(
-            nsPackageId="14",
-            nsdId="3",
-            nsdDesginer="3",
-            nsdVersion="3",
-            nsPackageUri="14.csar",
-            nsdModel="").save()
-        resp = self.client.get("/api/parser/v1/nspackages")
-        self.assertEqual(resp.status_code, status.HTTP_200_OK)
-        expect_data = [{"csarId": "13",
-                        "packageInfo": {"csarName": "13.csar",
-                                        "nsdProvider": "2",
-                                        "nsdId": "2",
-                                        "nsPackageId": "13",
-                                        "downloadUrl": "http://127.0.0.1:8806/static/genericparser/13/13.csar",
-                                        "nsdModel": "",
-                                        "nsdVersion": "2",
-                                        "nsdInvariantId": None
-                                        }},
-                       {"csarId": "14",
-                        "packageInfo": {"csarName": "14.csar",
-                                        "nsdProvider": "3",
-                                        "nsdId": "3",
-                                        "nsPackageId": "14",
-                                        "downloadUrl": "http://127.0.0.1:8806/static/genericparser/14/14.csar",
-                                        "nsdModel": "",
-                                        "nsdVersion": "3",
-                                        "nsdInvariantId": None}}]
-        self.assertEqual(expect_data, resp.data)
-
-    def test_ns_pkg_get_one(self):
-        NSPackageModel(
-            nsPackageId="14",
-            nsdId="2",
-            nsdDesginer="3",
-            nsdVersion="4",
-            nsPackageUri="14.csar",
-            nsdModel="").save()
-        resp = self.client.get("/api/parser/v1/nspackages/14")
-        self.assertEqual(resp.status_code, status.HTTP_200_OK)
-        expect_data = {
-            "csarId": "14",
-            "packageInfo": {
-                "nsdId": "2",
-                "nsPackageId": "14",
-                "nsdProvider": "3",
-                "nsdVersion": "4",
-                "csarName": "14.csar",
-                "nsdModel": "",
-                "downloadUrl": "http://127.0.0.1:8806/static/genericparser/14/14.csar",
-                "nsdInvariantId": None}}
-        self.assertEqual(expect_data, resp.data)
-
-    def test_ns_pkg_get_one_not_found(self):
-        resp = self.client.get("/api/parser/v1/nspackages/22")
-        self.assertEqual(resp.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
-        self.assertEqual(
-            {"error": "Ns package[22] not Found."},
-            resp.data)
-
-    ##########################################################################
-
-    @mock.patch.object(toscaparsers, '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"})
-        req_data = {"csarId": "18", "inputs": []}
-        resp = self.client.post(
-            "/api/parser/v1/parsernsd",
-            req_data,
-            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):
-        req_data = {"csarId": "1", "inputs": []}
-        resp = self.client.post(
-            "/api/parser/v1/parsernsd",
-            req_data,
-            format='json')
-        self.assertEqual(
-            resp.status_code,
-            status.HTTP_500_INTERNAL_SERVER_ERROR)
-        self.assertEqual(resp.data, {"error": "NS CSAR(1) does not exist."})