Add UT cases for port pair group 41/32841/2
authorfujinhua <fu.jinhua@zte.com.cn>
Mon, 26 Feb 2018 08:09:50 +0000 (16:09 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Mon, 26 Feb 2018 08:29:49 +0000 (16:29 +0800)
Change-Id: I0fcf97133c74e69f3816b4e02aca4bea7e384c3c
Issue-ID: VFC-754
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
lcm/ns/tests/sfcs/test_create_port_pair_group.py
lcm/ns/tests/sfcs/test_data.py

index d8c03cf..490a999 100644 (file)
 # 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 mock
-# import json
-# from test_data import nsd_model, vnfd_model_dict1, vnfd_model_dict2
-# from rest_framework import status
-# from lcm.pub.utils import restcall
-# from lcm.pub.database.models import FPInstModel, NfInstModel
-# from django.test import Client
-# from django.test import TestCase
-#
-#
-# class TestSfc(TestCase):
-#     def setUp(self):
-#         self.client = Client()
-#         FPInstModel.objects.all().delete()
-#         NfInstModel.objects.all().delete()
-#         NfInstModel(
-#             nfinstid="vnf_inst_1", ns_inst_id="ns_inst_1", vnf_id="vnf_1",
-#             vnfd_model=json.dumps(vnfd_model_dict1)).save()
-#         NfInstModel(
-#             nfinstid="vnf_inst_2", vnf_id="vnf_2", ns_inst_id="ns_inst_1",
-#             vnfd_model=json.dumps(vnfd_model_dict2)).save()
-#         FPInstModel(
-#             fpid="fpd_1", fpinstid="fp_inst_1", nsinstid="ns_inst_1", vnffginstid="vnffg_inst_1",
-#             policyinfo=[{
-#                 "type": "ACL",
-#                 "criteria": {
-#                     "dest_port_range": [80, 1024],
-#                     "source_port_range": [80, 1024],
-#                     "ip_protocol": "tcp",
-#                     "dest_ip_range": ["192.168.1.2", "192.168.1.100"],
-#                     "source_ip_range": ["192.168.1.2", "192.168.1.100"],
-#                     "dscp": 100,
-#                 }
-#             }],
-#             status="enabled",
-#             sdncontrollerid="sdn_controller_1"
-#         ).save()
-#
-#     def tearDown(self):
-#         FPInstModel.objects.all().delete()
-#         NfInstModel.objects.all().delete()
-#
-#     @mock.patch.object(restcall, 'call_req')
-#     def test_create_port_pair_group_success(self, mock_call_req):
-#         data = {
-#             "nsinstanceid": "ns_inst_1",
-#             "fpinstid": "fp_inst_1",
-#             "context": json.dumps(nsd_model)
-#         }
-#         mock_vals = {
-#             "/api/aai-esr-server/v1/sdncontrollers/sdn_controller_1":
-#                 [0, json.JSONEncoder().encode({"url": "url_1"}), '200'],
-#             "/api/sdncdriver/v1.0/createportpair":
-#                 [0, json.JSONEncoder().encode({"id": "createportpair_id"}), '200'],
-#             "/api/sdncdriver/v1.0/createportpairgroup":
-#                 [0, json.JSONEncoder().encode({"id": "createportpairgroup_id"}), '200'],
-#             "/api/microservices/v1/services":
-#                 [0, None, '200']
-#         }
-#
-#         def side_effect(*args):
-#             return mock_vals[args[4]]
-#
-#         mock_call_req.side_effect = side_effect
-#         resp = self.client.post("/api/nslcm/v1/ns/create_port_pair_group", data)
-#         rest = json.loads(FPInstModel.objects.get(fpinstid="fp_inst_1").portpairgroups)[0]
-#         self.assertEqual(resp.status_code, status.HTTP_200_OK)
-#         self.assertEqual("createportpairgroup_id", rest["groupid"])
+import mock
+import json
+from test_data import nsd_model, vnfd_model_dict1, vnfd_model_dict2
+from rest_framework import status
+from lcm.pub.utils import restcall
+from lcm.pub.database.models import FPInstModel, NfInstModel
+from django.test import Client
+from django.test import TestCase
+
+
+class TestSfc(TestCase):
+    def setUp(self):
+        self.client = Client()
+        FPInstModel.objects.all().delete()
+        NfInstModel.objects.all().delete()
+        NfInstModel(
+            nfinstid="vnf_inst_1",
+            ns_inst_id="ns_inst_1",
+            vnf_id="vnf_1",
+            vnfd_model=json.dumps(vnfd_model_dict1)).save()
+        NfInstModel(
+            nfinstid="vnf_inst_2",
+            vnf_id="vnf_2",
+            ns_inst_id="ns_inst_1",
+            vnfd_model=json.dumps(vnfd_model_dict2)).save()
+        FPInstModel(
+            fpid="fpd_1",
+            fpinstid="fp_inst_1",
+            nsinstid="ns_inst_1",
+            vnffginstid="vnffg_inst_1",
+            policyinfo=[{
+                "type": "ACL",
+                "criteria": {
+                    "dest_port_range": [80, 1024],
+                    "source_port_range": [80, 1024],
+                    "ip_protocol": "tcp",
+                    "dest_ip_range": ["192.168.1.2", "192.168.1.100"],
+                    "source_ip_range": ["192.168.1.2", "192.168.1.100"],
+                    "dscp": 100,
+                }
+            }],
+            status="enabled",
+            sdncontrollerid="sdn_controller_1"
+        ).save()
+
+    def tearDown(self):
+        FPInstModel.objects.all().delete()
+        NfInstModel.objects.all().delete()
+
+    @mock.patch.object(restcall, 'call_req')
+    def test_create_port_pair_group_success(self, mock_call_req):
+        data = {
+            "nsinstanceid": "ns_inst_1",
+            "fpinstid": "fp_inst_1",
+            "context": json.dumps(nsd_model)
+        }
+        mock_vals = {
+            "/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/sdn_controller_1?depth=all":
+                [0, json.JSONEncoder().encode({
+                    "thirdparty-sdnc-id": "1",
+                    "esr-system-info-list": {
+                        "esr-system-info": [{
+                            "service-url": "url_1",
+                            "thirdparty-sdnc-id": "1",
+                            "user-name": "aa",
+                            "password": "123",
+                            "vendor": "zte",
+                            "version": "v1.0",
+                            "protocal": "http",
+                            "product-name": "bbb",
+                            "type": "11"
+                        }]
+                    }
+                }), '200'],
+            "/api/ztesdncdriver/v1/createportpair":
+                [0, json.JSONEncoder().encode({"id": "createportpair_id"}), '200'],
+            "/api/ztesdncdriver/v1/createportpairgroup":
+                [0, json.JSONEncoder().encode({"id": "createportpairgroup_id"}), '200'],
+            "/api/microservices/v1/services":
+                [0, None, '200']
+        }
+
+        def side_effect(*args):
+            return mock_vals[args[4]]
+
+        mock_call_req.side_effect = side_effect
+        resp = self.client.post("/api/nslcm/v1/ns/create_port_pair_group", data)
+        rest = json.loads(FPInstModel.objects.get(fpinstid="fp_inst_1").portpairgroups)[0]
+        self.assertEqual(resp.status_code, status.HTTP_200_OK)
+        self.assertEqual("createportpairgroup_id", rest["groupid"])
index 8d58c69..72f0b43 100644 (file)
@@ -102,6 +102,7 @@ nsd_model = {
                 "pnf_type": "TTGW",
                 "request_reclassification": False,
                 "nsh_aware": False,
+                "management_address": "10.34.45.67"
             },
             "cps": [
                 "cpd_1", "cpd_22",