Fix vfc-svnfm-driver convert bug
[vfc/nfvo/driver/vnfm/svnfm.git] / zte / vmanager / driver / interfaces / tests.py
index cebc8c5..715e2d9 100644 (file)
@@ -27,9 +27,9 @@ class InterfacesTest(TestCase):
     def tearDown(self):
         pass
 
-    @mock.patch.object(restcall, 'call_req_aai')
+    @mock.patch.object(restcall, 'call_req_aai')
     @mock.patch.object(restcall, 'call_req')
-    def test_instantiate_vnf_001(self, mock_call_req, mock_call_req_aai):
+    def test_instantiate_vnf_001(self, mock_call_req):
         """
         Initate_VNF
         """
@@ -80,22 +80,28 @@ class InterfacesTest(TestCase):
                                       u'operationalState': u'Disabled',
                                       u'createTime': u'2016-10-31 16:21:11',
                                       u'size': u'12.1 MB'}}
-        packageInfo = {u'usageState': u'NotInUse',
-                       u'onBoardState': u'onBoarded',
-                       u'name': u'VFW',
-                       u'format': u'yaml',
-                       u'provider': u'ZTE',
-                       u'vnfdProvider': u'zte',
-                       u'vnfdId': u'vcpe_vfw_zte_1_0',
-                       u'deletionPending': False,
-                       u'version': u'v1.0',
-                       u'vnfVersion': u'1.0',
-                       u'vnfdVersion': u'1.0.0',
-                       u'processState': u'normal',
-                       u'modifyTime': u'2016-10-31 16:21:32',
-                       u'downloadUri': u'http://192.168.233.226:80/files/catalog-http/NFAR/ZTE/VFW/v1.0/VFW.csar',
-                       u'operationalState': u'Disabled',
-                       u'createTime': u'2016-10-31 16:21:11', u'size': u'12.1 MB'}
+        packageInfo = {
+            "size": "12.1 MB",
+            "usageState": "NotInUse",
+            "onBoardState": "onBoarded",
+            "name": "VFW",
+            "format": "yaml",
+            "packageInfo": {
+                "vnfdModel": json.dumps({"metadata": {"name": "ZTE-MME-FIX-VL"}})
+            },
+            "modifyTime": "2016-10-31 16:21:32",
+            "vnfdProvider": "zte",
+            "vnfdId": "vcpe_vfw_zte_1_0",
+            "deletionPending": False,
+            "version": "v1.0",
+            "vnfVersion": "1.0",
+            "vnfdVersion": "1.0.0",
+            "processState": "normal",
+            "provider": "ZTE",
+            "operationalState": "Disabled",
+            "createTime": "2016-10-31 16:21:11",
+            "downloadUri": "http://192.168.233.226:80/files/catalog-http/NFAR/ZTE/VFW/v1.0/VFW.csar"
+        }
 
         inst_response = {
             u'vnfInstanceId': u'8',
@@ -109,21 +115,25 @@ class InterfacesTest(TestCase):
 
         r3 = [0, json.JSONEncoder().encode(packageInfo), "200"]
 
-        mock_call_req_aai.side_effect =[r1]
-        mock_call_req.side_effect = [r2, r3, ret]
-
-        req_data = {'vnfInstanceName': 'VFW_f88c0cb7-512a-44c4-bd09-891663f19367',
-                    'vnfPackageId': 'd852e1be-0aac-48f1-b1a4-cd825f6cdf9a',
-                    'vnfDescriptorId': 'vcpe_vfw_zte_1_0',
-                    'additionalParam': {'sdncontroller': 'e4d637f1-a4ec-4c59-8b20-4e8ab34daba9',
-                                        'NatIpRange': '192.167.0.10-192.168.0.20',
-                                        'm6000_mng_ip': '192.168.11.11',
-                                        'externalPluginManageNetworkName': 'plugin_net_2014',
-                                        'location': '516cee95-e8ca-4d26-9268-38e343c2e31e',
-                                        'externalManageNetworkName': 'mng_net_2017',
-                                        'sfc_data_network': 'sfc_data_net_2016',
-                                        'externalDataNetworkName': 'Flow_out_net',
-                                        'inputs':{}}}
+        # mock_call_req_aai.side_effect =[r1]
+        mock_call_req.side_effect = [r1, r2, r3, ret]
+
+        req_data = {
+            'vnfInstanceName': 'VFW_f88c0cb7-512a-44c4-bd09-891663f19367',
+            'vnfPackageId': 'd852e1be-0aac-48f1-b1a4-cd825f6cdf9a',
+            'vnfDescriptorId': 'vcpe_vfw_zte_1_0',
+            'additionalParam': {
+                'sdncontroller': 'e4d637f1-a4ec-4c59-8b20-4e8ab34daba9',
+                'NatIpRange': '192.167.0.10-192.168.0.20',
+                'm6000_mng_ip': '192.168.11.11',
+                'externalPluginManageNetworkName': 'plugin_net_2014',
+                'location': '516cee95-e8ca-4d26-9268-38e343c2e31e',
+                'externalManageNetworkName': 'mng_net_2017',
+                'sfc_data_network': 'sfc_data_net_2016',
+                'externalDataNetworkName': 'Flow_out_net',
+                'inputs': {}
+            }
+        }
 
         response = self.client.post("/api/ztevmanagerdriver/v1/ztevnfmid/vnfs",
                                     data=json.dumps(req_data), content_type="application/json")
@@ -131,9 +141,9 @@ class InterfacesTest(TestCase):
         expect_resp_data = {"jobid": "NF-CREATE-8-b384535c-9f45-11e6-8749-fa163e91c2f9", "vnfInstanceId": "8"}
         self.assertEqual(expect_resp_data, response.data)
 
-    @mock.patch.object(restcall, 'call_req_aai')
+    @mock.patch.object(restcall, 'call_req_aai')
     @mock.patch.object(restcall, 'call_req')
-    def test_terminate_vnf__002(self, mock_call_req, mock_call_req_aai):
+    def test_terminate_vnf__002(self, mock_call_req):
         """
         Terminate_VNF
         """
@@ -152,8 +162,8 @@ class InterfacesTest(TestCase):
             "createTime": "2016-07-06 15:33:18"}), "200"]
 
         r2 = [0, json.JSONEncoder().encode({"vnfInstanceId": "1", "JobId": "1"}), "200"]
-        mock_call_req_aai.side_effect = [r1]
-        mock_call_req.side_effect = [r2]
+        mock_call_req_aai.side_effect = [r1]
+        mock_call_req.side_effect = [r1, r2]
 
         response = self.client.post("/api/ztevmanagerdriver/v1/ztevnfmid/vnfs/vbras_innstance_id/terminate")
 
@@ -161,9 +171,9 @@ class InterfacesTest(TestCase):
         expect_resp_data = {"jobid": "1", "vnfInstanceId": "1"}
         self.assertEqual(expect_resp_data, response.data)
 
-    @mock.patch.object(restcall, 'call_req_aai')
+    @mock.patch.object(restcall, 'call_req_aai')
     @mock.patch.object(restcall, 'call_req')
-    def test_query_vnf_003(self, mock_call_req, mock_call_req_aai):
+    def test_query_vnf_003(self, mock_call_req):
         """
         Query_VNF
         """
@@ -182,8 +192,8 @@ class InterfacesTest(TestCase):
             "createTime": "2016-07-06 15:33:18"}), "200"]
 
         r2 = [0, json.JSONEncoder().encode({"vnfinstancestatus": "1"}), "200"]
-        mock_call_req_aai.side_effect = [r1]
-        mock_call_req.side_effect = [r2]
+        mock_call_req_aai.side_effect = [r1]
+        mock_call_req.side_effect = [r1, r2]
 
         response = self.client.get("/api/ztevmanagerdriver/v1/ztevnfmid/vnfs/vbras_innstance_id")
 
@@ -192,9 +202,9 @@ class InterfacesTest(TestCase):
         expect_resp_data = {"vnfInfo": {"vnfStatus": "1"}}
         self.assertEqual(expect_resp_data, response.data)
 
-    @mock.patch.object(restcall, 'call_req_aai')
+    @mock.patch.object(restcall, 'call_req_aai')
     @mock.patch.object(restcall, 'call_req')
-    def test_operation_status_004(self, mock_call_req, mock_call_req_aai):
+    def test_operation_status_004(self, mock_call_req):
         """
         Operation_status
         """
@@ -210,27 +220,34 @@ class InterfacesTest(TestCase):
                      u'type': u'ztevmanagerdriver',
                      u'createTime': u'2016-10-31 11:08:39',
                      u'description': u''}
-        resp_body = {"responsedescriptor":
-                         {"status": "processing", "responsehistorylist": [
-                             {"status": "error",
-                              "progress": 255,
-                              "errorcode": "",
-                              "responseid": 20,
-                              "statusdescription": "'JsonParser' object has no attribute 'parser_info'"}],
-                          "responseid": 21,
-                          "errorcode": "",
-                          "progress": 40,
-                          "statusdescription": "Create nf apply resource failed"},
-                     "jobid": "NF-CREATE-11-ec6c2f2a-9f48-11e6-9405-fa163e91c2f9"}
+        resp_body = {
+            "responsedescriptor": {
+                "status": "processing",
+                "responsehistorylist": [
+                    {
+                        "status": "error",
+                        "progress": 255,
+                        "errorcode": "",
+                        "responseid": 20,
+                        "statusdescription": "'JsonParser' object has no attribute 'parser_info'"
+                    }
+                ],
+                "responseid": 21,
+                "errorcode": "",
+                "progress": 40,
+                "statusdescription": "Create nf apply resource failed"
+            },
+            "jobid": "NF-CREATE-11-ec6c2f2a-9f48-11e6-9405-fa163e91c2f9"
+        }
         r1 = [0, json.JSONEncoder().encode(vnfm_info), '200']
         r2 = [0, json.JSONEncoder().encode(resp_body), '200']
-        mock_call_req_aai.side_effect = [r1]
-        mock_call_req.side_effect = [r2]
-        response = self.client.get("/api/ztevmanagerdriver/v1/{vnfmid}/jobs/{jobid}?responseId={responseId}".
-            format(
+        # mock_call_req_aai.side_effect = [r1]
+        mock_call_req.side_effect = [r1, r2]
+        response = self.client.get("/api/ztevmanagerdriver/v1/{vnfmid}/jobs/{jobid}?responseId={responseId}".format(
             vnfmid=vnfm_info["vnfmId"],
             jobid=resp_body["jobid"],
-            responseId=resp_body["responsedescriptor"]["responseid"]))
+            responseId=resp_body["responsedescriptor"]["responseid"])
+        )
 
         self.assertEqual(str(status.HTTP_200_OK), response.status_code)
 
@@ -250,19 +267,23 @@ class InterfacesTest(TestCase):
             "vnfmid": "13232222",
             "nfvoid": "03212234",
             "vimid": "12345678",
-            "exvimidlist ":
-                ["exvimid"],
+            "exvimidlist ": [
+                "exvimid"
+            ],
             "tenant": " tenant1",
             "vnfistanceid": "1234",
             "operationright": "0",
             "vmlist": [
                 {
                     "vmflavor": "SMP",
-                    "vmnumber": "3"},
+                    "vmnumber": "3"
+                },
                 {
                     "vmflavor": "CMP",
-                    "vmnumber": "3"}
-            ]}
+                    "vmnumber": "3"
+                }
+            ]
+        }
 
         mock_call_req.return_value = ret
         response = self.client.put("/api/ztevmanagerdriver/v1/resource/grant",
@@ -338,10 +359,10 @@ class InterfacesTest(TestCase):
         expect_resp_data = None
         self.assertEqual(expect_resp_data, response.data)
 
-    @mock.patch.object(restcall, 'call_req_aai')
+    @mock.patch.object(restcall, 'call_req_aai')
     @mock.patch.object(restcall, 'call_req')
-    def test_scale(self, mock_call_req, mock_call_req_aai):
-        job_info = {"jobid":"801","nfInstanceId":"101"}
+    def test_scale(self, mock_call_req):
+        job_info = {"jobid": "801", "nfInstanceId": "101"}
         vnfm_info = {u'userName': u'admin',
                      u'vendor': u'ZTE',
                      u'name': u'ZTE_VNFM_237_62',
@@ -356,29 +377,30 @@ class InterfacesTest(TestCase):
                      u'description': u''}
 
         ret = [0, json.JSONEncoder().encode(job_info), "202"]
-        ret_vnfm = [0,json.JSONEncoder().encode(vnfm_info), "200"]
-        mock_call_req_aai.side_effect = [ret_vnfm]
-        mock_call_req.side_effect = [ret]
+        ret_vnfm = [0, json.JSONEncoder().encode(vnfm_info), "200"]
+        mock_call_req_aai.side_effect = [ret_vnfm]
+        mock_call_req.side_effect = [ret_vnfm, ret]
 
         vnfd_info = {
-            "vnf_flavours":[
+            "vnf_flavours": [
                 {
-                    "flavour_id":"flavour1",
-                    "description":"",
-                    "vdu_profiles":[
+                    "flavour_id": "flavour1",
+                    "description": "",
+                    "vdu_profiles": [
                         {
-                            "vdu_id":"vdu1Id",
+                            "vdu_id": "vdu1Id",
                             "instances_minimum_number": 1,
                             "instances_maximum_number": 4,
-                            "local_affinity_antiaffinity_rule":[
+                            "local_affinity_antiaffinity_rule": [
                                 {
-                                    "affinity_antiaffinity":"affinity",
-                                    "scope":"node",
+                                    "affinity_antiaffinity": "affinity",
+                                    "scope": "node",
+
                                 }
                             ]
                         }
                     ],
-                    "scaling_aspects":[
+                    "scaling_aspects": [
                         {
                             "id": "demo_aspect",
                             "name": "demo_aspect",
@@ -390,35 +412,37 @@ class InterfacesTest(TestCase):
                 }
             ],
             "element_groups": [
-                  {
-                      "group_id": "elementGroup1",
-                      "description": "",
-                      "properties":{
-                          "name": "elementGroup1",
-                      },
-                      "members": ["gsu_vm","pfu_vm"],
-                  }
+                {
+                    "group_id": "elementGroup1",
+                    "description": "",
+                    "properties": {
+                        "name": "elementGroup1"
+                    },
+                    "members": [
+                        "gsu_vm",
+                        "pfu_vm"
+                    ]
+                }
             ]
         }
 
         scale_vnf_data = {
-            "type":"SCALE_OUT",
-            "aspectId":"demo_aspect",
-            "numberOfSteps":"3",
-            "additionalParam":{
-                "vnfdModel":vnfd_info
+            "type": "SCALE_OUT",
+            "aspectId": "demo_aspect",
+            "numberOfSteps": "3",
+            "additionalParam": {
+                "vnfdModel": vnfd_info
             }
         }
 
-
         response = self.client.post("/api/ztevmanagerdriver/v1/100/vnfs/101/scale",
-                                   data=json.dumps(scale_vnf_data), content_type='application/json')
+                                    data=json.dumps(scale_vnf_data), content_type='application/json')
         self.assertEqual(str(status.HTTP_202_ACCEPTED), response.status_code)
         self.assertDictEqual(job_info, response.data)
 
-    @mock.patch.object(restcall, 'call_req_aai')
+    @mock.patch.object(restcall, 'call_req_aai')
     @mock.patch.object(restcall, 'call_req')
-    def test_heal(self, mock_call_req, mock_call_req_aai):
+    def test_heal(self, mock_call_req):
         job_info = {"jobid": "12234455", "nfInstanceId": "10144445666"}
         vnfm_info = {u'userName': u'admin',
                      u'vendor': u'ZTE',
@@ -435,8 +459,8 @@ class InterfacesTest(TestCase):
 
         ret = [0, json.JSONEncoder().encode(job_info), "202"]
         ret_vnfm = [0, json.JSONEncoder().encode(vnfm_info), "200"]
-        mock_call_req_aai.side_effect = [ret_vnfm]
-        mock_call_req.side_effect = [ret]
+        mock_call_req_aai.side_effect = [ret_vnfm]
+        mock_call_req.side_effect = [ret_vnfm, ret]
 
         heal_vnf_data = {
             'action': 'vmReset',
@@ -458,4 +482,4 @@ class InterfacesTest(TestCase):
                                     data=json.dumps(heal_vnf_data), content_type='application/json')
 
         self.assertEqual(str(status.HTTP_202_ACCEPTED), response.status_code)
-        self.assertDictEqual(job_info, response.data)
\ No newline at end of file
+        self.assertDictEqual(job_info, response.data)