From 1dabc8eb37bbb1dbdc233218cd1b1553d30fc284 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=AD=A6=E5=B3=B0?= Date: Fri, 9 Sep 2022 11:14:56 +0800 Subject: [PATCH] feature: add server info for report --- models/job_model.py | 3 ++- services/plan_service.py | 10 +++++++--- services/tone_job_service.py | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/models/job_model.py b/models/job_model.py index 2fc95dc..a805829 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 be2b267..c94d476 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 618949e..371387a 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: -- Gitee