def test_ns_update_asynchronous_tasks_when_operatevnfdata_does_not_exist(self): request_data = {"updateType": "OPERATE_VNF"} ns_heal_service = NSUpdateService(self.ns_inst_id, request_data, self.job_id) ns_heal_service.run() self.assertEqual(NSInstModel.objects.filter(id=self.ns_inst_id).first().status, NS_INST_STATUS.UPDATING) self.assertEqual(JobModel.objects.filter(jobid=self.job_id).first().progress, JOB_PROGRESS.ERROR) self.assertEqual(NSLcmOpOccModel.objects.filter(id=ns_heal_service.occ_id).first().operation_state, 'FAILED')
def test_ns_update_asynchronous_tasks_when_updatetype_parameter_does_not_exist(self): request_data = {"updateType": ""} ns_heal_service = NSUpdateService(self.ns_inst_id, request_data, self.job_id) ns_heal_service.run() self.assertEqual(NSInstModel.objects.filter(id=self.ns_inst_id).first().status, None) self.assertEqual(JobModel.objects.filter(jobid=self.job_id).first().progress, JOB_PROGRESS.ERROR) self.assertEqual(NSLcmOpOccModel.objects.filter(id=ns_heal_service.occ_id).first().operation_state, 'FAILED')
def test_ns_update_asynchronous_tasks_when_ns_does_not_exist(self): ns_instance_id = 'test_ns_update_002' job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.UPDATE, ns_instance_id) ns_heal_service = NSUpdateService(ns_instance_id, UPDATE_NS_DICT, job_id) ns_heal_service.run() self.assertEqual(JobModel.objects.filter(jobid=job_id).first().progress, JOB_PROGRESS.ERROR) self.assertEqual(NSLcmOpOccModel.objects.filter(id=ns_heal_service.occ_id).first().operation_state, 'FAILED')
def test_ns_update_asynchronous_tasks_when_nf_update_error(self, mock_get, mock_run, mock_sleep): mock_sleep.return_value = None mock_run.return_value = None mock_get.return_value = JobModel(progress=JOB_PROGRESS.ERROR) ns_heal_service = NSUpdateService(self.ns_inst_id, UPDATE_NS_DICT, self.job_id) ns_heal_service.run() self.assertEqual(NSInstModel.objects.filter(id=self.ns_inst_id).first().status, NS_INST_STATUS.UPDATING) self.assertEqual(JobModel.objects.filter(jobid=self.job_id).first().progress, JOB_PROGRESS.ERROR) self.assertEqual(NSLcmOpOccModel.objects.filter(id=ns_heal_service.occ_id).first().operation_state, 'FAILED')
def post(self, request, ns_instance_id): job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.UPDATE, ns_instance_id) logger.debug("Enter UpdateNSView::post %s, %s", request.data, ns_instance_id) req_serializer = UpdateNsReqSerializer(data=request.data) if not req_serializer.is_valid(): logger.debug("request.data is not valid,error: %s" % req_serializer.errors) raise BadRequestException(req_serializer.errors) ns_update_service = NSUpdateService(ns_instance_id, request.data, job_id) ns_update_service.start() response = Response(data={}, status=status.HTTP_202_ACCEPTED) logger.debug("Location: %s" % ns_update_service.occ_id) response["Location"] = NS_OCC_BASE_URI % ns_update_service.occ_id logger.debug("Leave UpdateNSView") return response
def post(self, request, ns_instance_id): logger.debug("Enter UpdateNSView::post %s, %s", request.data, ns_instance_id) req_serializer = UpdateNsReqSerializer(data=request.data) if not req_serializer.is_valid(): raise BadRequestException(req_serializer.errors) job_id = JobUtil.create_job(JOB_TYPE.NS, JOB_ACTION.UPDATE, ns_instance_id) NSUpdateService(ns_instance_id, request.data, job_id).start() resp_serializer = _NsOperateJobSerializer(data={'jobId': job_id}) if not resp_serializer.is_valid(): raise NSLCMException(resp_serializer.errors) logger.debug("Leave UpdateNSView::post ret=%s", {'jobId': job_id}) return Response(data={'jobId': job_id}, status=status.HTTP_202_ACCEPTED)