diff --git a/models/job_model.py b/models/job_model.py index 2fc95dccd1fc84c8496ecf0a491e3db37b6a5c47..a805829368af7537dbcad0fc01ad11ef742713e0 100644 --- a/models/job_model.py +++ b/models/job_model.py @@ -6,7 +6,7 @@ # @ Update Time: 2022-08-23 # ------------------------------------- -from sqlalchemy import Column, String, Integer, Enum +from sqlalchemy import Column, String, Integer, Enum, JSON from common.enums import Tone_Job_State, Test_Type, Case_Result, Track_Result from models import CommonModel @@ -21,6 +21,7 @@ class ToneJob(CommonModel): tone_job_id = Column(Integer(), nullable=False, default=-1, index=True, comment='tone job id') tone_job_link = Column(String(100), nullable=True, comment='tone job链接') task_id = Column(Integer(), nullable=False, default=-1, index=True, comment='测试方案id') + server_info = Column(JSON(), nullable=True, default=[], comment='存储tone job的机器信息') class FuncResult(CommonModel): diff --git a/services/plan_service.py b/services/plan_service.py index be2b26791b6a7859466f1ed3f7188f3d213543ac..c94d476875eb5037829e6025ad6b08fc3c3130c9 100644 --- a/services/plan_service.py +++ b/services/plan_service.py @@ -7,7 +7,7 @@ from common.enums import Status_EN, Task_Run_Method, Case_Type, Case_Run_Method, from common.tone.tone_request import gen_tone_job_type from models.case_model import Case from models.device_model import Device -from models.job_model import FuncResult, PerfResult +from models.job_model import FuncResult, PerfResult, ToneJob from models.plan_model import Plan, PlanReview from models.requirement_model import Requirement from models.product_model import ProductPlan @@ -227,7 +227,7 @@ async def __start_auto_task(auto_tasks): ret, ok = await create_tone_job({ 'task_id': task.id, 'test_config': test_config, - 'job_type': gen_tone_job_type(job_type), + 'job_type': task.job_type, 'workspace': task.workspace, 'project': task.project, 'env_info': task.config @@ -275,7 +275,11 @@ async def export_plan(plan_id): for task in tasks: if task.run_method == Task_Run_Method.AUTO: auto_task_ids.append(task.id) - result['test_result']['task']['auto_task'].append(task.to_dict()) + task_info = task.to_dict() + tone_job = await ToneJob.query_obj_one(ToneJob.task_id == task.id) + if tone_job: + task_info['server_info'] = tone_job.server_info + result['test_result']['task']['auto_task'].append(task_info) else: # 处理手动功能测试用例结果 for case in task.run_result['case_infos']: diff --git a/services/tone_job_service.py b/services/tone_job_service.py index 618949e42384f39ebfa10d146916de7e71e02203..371387aaf0ff57452dfe79e0d77505d8873b00d2 100644 --- a/services/tone_job_service.py +++ b/services/tone_job_service.py @@ -60,6 +60,8 @@ async def save_job_result(data): tone_job = await ToneJob.query_obj_one(ToneJob.tone_job_id == data.get('job_id')) if not tone_job: return ERROR_UN_EXISTED_TONE_JOB, False + tone_job.server_info = data.get('server_info', list()) + await tone_job.update() if test_type == 'functional': await save_func_detail(tone_job.task_id, data) else: