X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=lcm%2Flcm%2Fnf%2Fvnfs%2Ftests%2Ftest_vnf_create.py;h=9fc981c1e149f8d9bc8145c2ad572d333500b3a4;hb=66fec31207eea8854c5dbaa571c82280eb910ab0;hp=293b65367736fa857138ed813a640276d9dec964;hpb=283dad75adf7f1c9470a8b324ee7697380e08562;p=vfc%2Fgvnfm%2Fvnflcm.git diff --git a/lcm/lcm/nf/vnfs/tests/test_vnf_create.py b/lcm/lcm/nf/vnfs/tests/test_vnf_create.py index 293b6536..9fc981c1 100644 --- a/lcm/lcm/nf/vnfs/tests/test_vnf_create.py +++ b/lcm/lcm/nf/vnfs/tests/test_vnf_create.py @@ -21,7 +21,7 @@ from rest_framework import status from lcm.nf.vnfs.vnf_create.create_vnf_identifier import CreateVnf from lcm.nf.vnfs.vnf_create.inst_vnf import InstVnf -from lcm.pub.database.models import NfInstModel, JobStatusModel +from lcm.pub.database.models import NfInstModel, JobStatusModel, NfvoRegInfoModel from lcm.pub.utils import restcall from lcm.pub.utils.jobutil import JobUtil @@ -101,11 +101,12 @@ class TestNsInstantiate(TestCase): context = json.loads(response.content) self.assertTrue(NfInstModel.objects.filter(nfinstid=context['vnfInstanceId']).exists()) - def test_instantiate_vnf(self): + @mock.patch.object(InstVnf, 'run') + def test_instantiate_vnf(self, mock_run): response = self.client.post("/gvnfmapi/lcm/v1/vnf_instances/12/instantiate", data={}, format='json') self.failUnlessEqual(status.HTTP_202_ACCEPTED, response.status_code) - def test_instantiate_vnf_when_instid_not_exist(self): + def test_instantiate_vnf_when_inst_id_not_exist(self): self.nf_inst_id = str(uuid.uuid4()) self.job_id = JobUtil.create_job('NF', 'CREATE', self.nf_inst_id) JobUtil.add_job_status(self.job_id, 0, "INST_VNF_READY") @@ -129,6 +130,61 @@ class TestNsInstantiate(TestCase): InstVnf(data, nf_inst_id=self.nf_inst_id, job_id=self.job_id).run() self.assert_job_result(self.job_id, 255, "Input parameter is not defined in vnfd_info.") + @mock.patch.object(restcall, 'call_req') + def test_instantiate_vnf_when_get_nfvo_config_failed(self, mock_call_req): + r1 = [0, json.JSONEncoder().encode(vnfd_model_dict), '200'] + r2 = [0, json.JSONEncoder().encode(vnfd_model_dict), '200'] + mock_call_req.side_effect = [r1, r2] + create_data = { + "vnfdId": "111", + "vnfInstanceName": "vFW_01", + "vnfInstanceDescription": " vFW in Nanjing TIC Edge"} + self.nf_inst_id = CreateVnf(create_data).do_biz() + self.job_id = JobUtil.create_job('NF', 'CREATE', self.nf_inst_id) + JobUtil.add_job_status(self.job_id, 0, "INST_VNF_READY") + data = inst_req_data + InstVnf(data, nf_inst_id=self.nf_inst_id, job_id=self.job_id).run() + self.assert_job_result(self.job_id, 255, "Nfvo was not registered") + + @mock.patch.object(restcall, 'call_req') + def test_instantiate_vnf_when_applay_grant_failed(self, mock_call_req): + NfvoRegInfoModel.objects.create(nfvoid='nfvo111', vnfminstid='vnfm111', apiurl='http://10.74.44.11', + nfvouser='root', nfvopassword='root123') + r1 = [0, json.JSONEncoder().encode(vnfd_model_dict), '200'] + r2 = [0, json.JSONEncoder().encode(vnfd_model_dict), '200'] + r3 = [1, json.JSONEncoder().encode(''), '200'] + mock_call_req.side_effect = [r1, r2, r3] + create_data = { + "vnfdId": "111", + "vnfInstanceName": "vFW_01", + "vnfInstanceDescription": " vFW in Nanjing TIC Edge"} + self.nf_inst_id = CreateVnf(create_data).do_biz() + self.job_id = JobUtil.create_job('NF', 'CREATE', self.nf_inst_id) + JobUtil.add_job_status(self.job_id, 0, "INST_VNF_READY") + data = inst_req_data + InstVnf(data, nf_inst_id=self.nf_inst_id, job_id=self.job_id).run() + self.assert_job_result(self.job_id, 255, "Nf instancing apply grant exception") + + @mock.patch.object(restcall, 'call_req') + def test_instantiate_vnf_success(self, mock_call_req): + NfvoRegInfoModel.objects.create(nfvoid='nfvo111', vnfminstid='vnfm111', apiurl='http://10.74.44.11', + nfvouser='root', nfvopassword='root123') + r1 = [0, json.JSONEncoder().encode(vnfd_model_dict), '200'] + r2 = [0, json.JSONEncoder().encode(vnfd_model_dict), '200'] + r3 = [0, json.JSONEncoder().encode('Nf instancing apply grant'), '200'] + r4 = [0, json.JSONEncoder().encode('Nf instancing apply resource'), '200'] + mock_call_req.side_effect = [r1, r2, r3, r4] + create_data = { + "vnfdId": "111", + "vnfInstanceName": "vFW_01", + "vnfInstanceDescription": " vFW in Nanjing TIC Edge"} + self.nf_inst_id = CreateVnf(create_data).do_biz() + self.job_id = JobUtil.create_job('NF', 'CREATE', self.nf_inst_id) + JobUtil.add_job_status(self.job_id, 0, "INST_VNF_READY") + data = inst_req_data + InstVnf(data, nf_inst_id=self.nf_inst_id, job_id=self.job_id).run() + self.assert_job_result(self.job_id, 100, "Instantiate Vnf success.") + vnfd_model_dict = { 'local_storages': [],