diff options
author | fujinhua <fu.jinhua@zte.com.cn> | 2018-02-26 16:09:50 +0800 |
---|---|---|
committer | fujinhua <fu.jinhua@zte.com.cn> | 2018-02-26 16:29:49 +0800 |
commit | a6d96c1e66c998057430f0e45c6b0b68713e8dae (patch) | |
tree | 9deb1b25da46ad8663b6ccf737820601a0411256 | |
parent | bfb18686ce2a427912faf5143e5da7e050e9b10f (diff) |
Add UT cases for port pair group
Change-Id: I0fcf97133c74e69f3816b4e02aca4bea7e384c3c
Issue-ID: VFC-754
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r-- | lcm/ns/tests/sfcs/test_create_port_pair_group.py | 158 | ||||
-rw-r--r-- | lcm/ns/tests/sfcs/test_data.py | 1 |
2 files changed, 91 insertions, 68 deletions
diff --git a/lcm/ns/tests/sfcs/test_create_port_pair_group.py b/lcm/ns/tests/sfcs/test_create_port_pair_group.py index d8c03cf6..490a9994 100644 --- a/lcm/ns/tests/sfcs/test_create_port_pair_group.py +++ b/lcm/ns/tests/sfcs/test_create_port_pair_group.py @@ -11,71 +11,93 @@ # 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"]) diff --git a/lcm/ns/tests/sfcs/test_data.py b/lcm/ns/tests/sfcs/test_data.py index 8d58c692..72f0b430 100644 --- a/lcm/ns/tests/sfcs/test_data.py +++ b/lcm/ns/tests/sfcs/test_data.py @@ -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", |