Merge "Fix vfc-lcm auto-swagger ui issue"
authorFu Jinhua <fu.jinhua@zte.com.cn>
Tue, 13 Mar 2018 03:40:53 +0000 (03:40 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 13 Mar 2018 03:40:53 +0000 (03:40 +0000)
lcm/ns/tests/vnfs/tests.py

index 9650ed4..1406fae 100644 (file)
@@ -303,10 +303,7 @@ class TestScaleVnfViews(TestCase):
         NSInstModel.objects.all().delete()
         NfInstModel.objects.all().delete()
 
-    @mock.patch.object(restcall, "call_req")
-    def test_scale_vnf(self, mock_call_req):
-        job_id = JobUtil.create_job("VNF", JOB_TYPE.TERMINATE_VNF, self.nf_inst_id)
-
+    def test_scale_vnf(self):
         vnfd_info = {
             "vnf_flavours": [{
                 "flavour_id": "flavour1",
@@ -361,22 +358,72 @@ class TestScaleVnfViews(TestCase):
             ]
         }
 
-        mock_vals = {
-            "/api/ztevnfmdriver/v1/1/vnfs/111/terminate":
-                [0, json.JSONEncoder().encode({"jobId": job_id}), '200']
-        }
-
-        def side_effect(*args):
-            return mock_vals[args[4]]
+        NFManualScaleService(self.nf_inst_id, req_data).run()
+        nsIns = NfInstModel.objects.filter(nfinstid=self.nf_inst_id)
+        self.assertIsNotNone(nsIns)
 
-        mock_call_req.side_effect = side_effect
+    @mock.patch.object(NFManualScaleService, "send_nf_scaling_request")
+    def test_scale_vnf_success(self, mock_send_nf_scaling_request):
+        vnfd_info = {
+            "vnf_flavours": [{
+                "flavour_id": "flavour1",
+                "description": "",
+                "vdu_profiles": [
+                    {
+                        "vdu_id": "vdu1Id",
+                        "instances_minimum_number": 1,
+                        "instances_maximum_number": 4,
+                        "local_affinity_antiaffinity_rule": [
+                            {
+                                "affinity_antiaffinity": "affinity",
+                                "scope": "node",
+                            }
+                        ]
+                    }
+                ],
+                "scaling_aspects": [
+                    {
+                        "id": "demo_aspect",
+                        "name": "demo_aspect",
+                        "description": "demo_aspect",
+                        "associated_group": "elementGroup1",
+                        "max_scale_level": 5
+                    }
+                ]
+            }],
+            "element_groups": [{
+                "group_id": "elementGroup1",
+                "description": "",
+                "properties": {
+                    "name": "elementGroup1",
+                },
+                "members": ["gsu_vm", "pfu_vm"]
+            }]
+        }
 
-        NFManualScaleService(self.nf_inst_id, req_data).run()
+        req_data = {
+            "scaleVnfData": [
+                {
+                    "type": "SCALE_OUT",
+                    "aspectId": "demo_aspect1",
+                    "numberOfSteps": 1,
+                    "additionalParam": vnfd_info
+                },
+                {
+                    "type": "SCALE_OUT",
+                    "aspectId": "demo_aspect2",
+                    "numberOfSteps": 1,
+                    "additionalParam": vnfd_info
+                }
+            ]
+        }
+        scale_service = NFManualScaleService(self.nf_inst_id, req_data)
+        scale_service.run()
         nsIns = NfInstModel.objects.filter(nfinstid=self.nf_inst_id)
-        if nsIns:
-            self.failUnlessEqual(1, 1)
-        else:
-            self.failUnlessEqual(1, 0)
+        self.assertIsNotNone(nsIns)
+
+        jobs = JobModel.objects.filter(jobid=scale_service.job_id)
+        self.assertIsNotNone(100, jobs[0].progress)
 
 
 class TestHealVnfViews(TestCase):