Add ut test case to terminate vnf 79/84979/1
authorfujinhua <fu.jinhua@zte.com.cn>
Thu, 11 Apr 2019 01:56:16 +0000 (09:56 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Thu, 11 Apr 2019 01:56:16 +0000 (09:56 +0800)
Change-Id: If9f67d02ba75d7a7f1fb9c654d7de1f9a0b5de65
Issue-ID: VFC-1306
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
lcm/lcm/nf/tests/test_terminate_vnf.py

index 59b7ead..a64a7f3 100644 (file)
@@ -85,6 +85,7 @@ class TestNFTerminate(TestCase):
         NetworkInstModel.objects.all().delete()\r
         SubNetworkInstModel.objects.all().delete()\r
         PortInstModel.objects.all().delete()\r
+        NfInstModel.objects.all().delete()\r
 \r
     def assert_job_result(self, job_id, job_progress, job_detail):\r
         jobs = JobStatusModel.objects.filter(jobid=job_id,\r
@@ -112,6 +113,36 @@ class TestNFTerminate(TestCase):
         response = self.client.post("/api/vnflcm/v1/vnf_instances/12/terminate", data=req_data, format='json')\r
         self.failUnlessEqual(status.HTTP_202_ACCEPTED, response.status_code, response.content)\r
 \r
+    @mock.patch.object(TerminateVnf, 'run')\r
+    def test_terminate_vnf_not_found(self, mock_run):\r
+        req_data = {\r
+            "terminationType": "GRACEFUL",\r
+            "gracefulTerminationTimeout": 120\r
+        }\r
+        mock_run.re.return_value = None\r
+        response = self.client.post("/api/vnflcm/v1/vnf_instances/567/terminate", data=req_data, format='json')\r
+        self.failUnlessEqual(status.HTTP_404_NOT_FOUND, response.status_code, response.content)\r
+\r
+    @mock.patch.object(TerminateVnf, 'run')\r
+    def test_terminate_vnf_conflict(self, mock_run):\r
+        req_data = {\r
+            "terminationType": "GRACEFUL",\r
+            "gracefulTerminationTimeout": 120\r
+        }\r
+        NfInstModel(nfinstid='123',\r
+                    nf_name='VNF1',\r
+                    nf_desc="VNF DESC",\r
+                    vnfdid="1",\r
+                    netype="XGW",\r
+                    vendor="ZTE",\r
+                    vnfSoftwareVersion="V1",\r
+                    version="V1",\r
+                    package_id="2",\r
+                    status='NOT_INSTANTIATED').save()\r
+        mock_run.re.return_value = None\r
+        response = self.client.post("/api/vnflcm/v1/vnf_instances/123/terminate", data=req_data, format='json')\r
+        self.failUnlessEqual(status.HTTP_409_CONFLICT, response.status_code, response.content)\r
+\r
     def test_terminate_vnf_when_inst_id_not_exist(self):\r
         data = {\r
             "terminationType": "GRACEFUL",\r