"statusDescription": job.descp,
"errorCode": job.errcode,
"responseId": job.indexid} for job in jobs[1:]]}}
+ logger.debug(ret)
return ret
# limitations under the License.
from django.test import TestCase, Client
from rest_framework import status
+from catalog.pub.utils.jobutil import JobUtil
from catalog.pub.database.models import JobModel, JobStatusModel
response = self.client.get("/api/catalog/v1/jobs/%s" % job_id)
self.assertIn('jobId', response.data)
self.assertNotIn('responseDescriptor', response.data)
+
+ def test_job_normal_multijobstatus(self):
+ JobUtil.create_job(
+ inst_type='test_new_job_id',
+ jobaction='test_jobaction',
+ inst_id="test_jobinstid",
+ job_id=self.job_id)
+ response = self.client.post("/api/catalog/v1/jobs/%s" % self.job_id, {"progress": "10", "desc": "10%", "errcode": "true"},
+ format='json')
+ print(response)
+ self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
+ response = self.client.post("/api/catalog/v1/jobs/%s" % self.job_id, {"progress": "50", "desc": "50%", "errcode": "true"},
+ format='json')
+ self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
+ response = self.client.post("/api/catalog/v1/jobs/%s" % self.job_id, {"progress": "100", "desc": "100%", "errcode": "true"},
+ format='json')
+ self.assertEqual(status.HTTP_202_ACCEPTED, response.status_code)
+ response = self.client.get("/api/catalog/v1/jobs/%s" % self.job_id)
+ print(response)
+ self.assertEqual(status.HTTP_200_OK, response.status_code)
request_serializer = PostJobRequestSerializer(data=request.data)
validataion_error = self.handleValidatonError(request_serializer, True)
- if not validataion_error:
+ if validataion_error:
return validataion_error
requestData = request_serializer.data
from functools import reduce
from catalog.pub.database.models import JobStatusModel, JobModel
-from catalog.pub.utils import idutil
logger = logging.getLogger(__name__)
try:
int_progress = int(progress)
job_status = JobStatusModel()
- job_status.indexid = int(idutil.get_auto_id(job_id))
+ jobstatuslist = JobStatusModel.objects.filter(jobid=job_id)
+ indexid = 0
+ for jobstatus in jobstatuslist:
+ if jobstatus.indexid > indexid:
+ indexid = jobstatus.indexid
+ job_status.indexid = indexid + 1
job_status.jobid = job_id
job_status.status = "processing"
job_status.progress = int_progress
import sys
import platform
-import catalog.pub.redisco
+# import catalog.pub.redisco
-from catalog.pub.config.config import REDIS_HOST, REDIS_PORT, REDIS_PASSWD
+# from catalog.pub.config.config import REDIS_HOST, REDIS_PORT, REDIS_PASSWD
from catalog.pub.config.config import DB_NAME, DB_IP, DB_USER, DB_PASSWD, DB_PORT
from catalog.pub.config import config as pub_config
from logging import config as log_config
# 'NAME': ':memory:',
# }
-catalog.pub.redisco.connection_setup(host=REDIS_HOST, port=REDIS_PORT, password=REDIS_PASSWD, db=0)
+# catalog.pub.redisco.connection_setup(host=REDIS_HOST, port=REDIS_PORT, password=REDIS_PASSWD, db=0)
# CACHE_BACKEND = 'redis_cache.cache://%s@%s:%s' % (REDIS_PASSWD, REDIS_HOST, REDIS_PORT)
TIME_ZONE = 'UTC'
TEST_OUTPUT_VERBOSE = True
TEST_OUTPUT_DESCRIPTIONS = True
TEST_OUTPUT_DIR = 'test-reports'
-
- import mock
- from catalog.pub.utils import idutil
-
- idutil.get_auto_id = mock.Mock()
- idutil.get_auto_id.return_value = 1