def test_job_normal(self):
JobModel(jobid=self.job_id, jobtype='VNF', jobaction='INST', resid='1').save()
- JobStatusModel(indexid=1, jobid=self.job_id, status='inst', progress=20, descp='inst').save()
+ JobStatusModel(indexid=1, jobid=self.job_id, status='inst', errcode='0', progress=20, descp='inst').save()
response = self.client.get("/api/catalog/v1/jobs/%s" % self.job_id)
self.failUnlessEqual(status.HTTP_200_OK, response.status_code)
@swagger_auto_schema(
operation_description="Get job status",
manual_parameters=[input_job_id, input_response_id],
- responses={status.HTTP_200_OK: JobResponseSerializer()})
+ responses={
+ status.HTTP_200_OK: JobResponseSerializer(),
+ status.HTTP_500_INTERNAL_SERVER_ERROR: PostJobResponseResultSerializer()
+ })
def get(self, request, job_id):
response_id = ignore_case_get(request.META, 'responseId')
ret = GetJobInfoService(job_id, response_id).do_biz()
- return Response(data=ret, status=status.HTTP_200_OK)
+ response_serializer = JobResponseSerializer(data=ret)
+ isValid = response_serializer.is_valid()
+ if not isValid:
+ message = 'Invalid resposne'
+ logger.error(response_serializer.errors)
+ return Response(data={'result': 'error', 'msg': message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
+
+ return Response(data=response_serializer.data, status=status.HTTP_200_OK)
@swagger_auto_schema(
request_body=PostJobRequestSerializer(),
JobUtil.add_job_status(job_id, progress, desc, error_code=errcode)
response = Response(data={'result': 'ok'}, status=status.HTTP_202_ACCEPTED)
- responseSerializer = PostJobResponseResultSerializer(response.data)
- isValid = responseSerializer.is_valid()
+ response_serializer = PostJobResponseResultSerializer(data=response.data)
+ isValid = response_serializer.is_valid()
if not isValid:
message = 'Invalid resposne'
logger.error(message)
return Response(data={'result': 'error', 'msg': message}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
- return Response(data=responseSerializer.data, status=status.HTTP_202_ACCEPTED)
+ return Response(data=response_serializer.data, status=status.HTTP_202_ACCEPTED)
except Exception as e:
logger.error(e.message)
logger.error(traceback.format_exc())