diff --git a/models/__init__.py b/models/__init__.py index 8ed2b4b7e1d695f41842f0bcb3ebb3c065446400..d922b87aecbf06e24de341d03d89fe1cabc09b1c 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -161,6 +161,7 @@ class CommonModel(BaseModel): if search: start_time = search.pop('start_time', None) end_time = search.pop('end_time', None) + search_set = set(search) if start_time: start_time = string_toDatetime(start_time) condition_list.append(cls.gmt_created >= start_time) diff --git a/models/case_model.py b/models/case_model.py index 9dd635096f013a8f0ffed619eded648d524933ac..dbd31df5648aaa556635f7c30d097aa0acfc3636 100644 --- a/models/case_model.py +++ b/models/case_model.py @@ -20,7 +20,7 @@ class Case(CommonModel): comment='测试用例运行模式,单机、集群') is_available = Column(Boolean(), nullable=False, default=True, comment='测试用例是否可用') tone_case = Column(String(128), nullable=True, comment='T-One测试用例,当run_method为自动的时候生效') - device_type = Column(Enum(Device_Type_EN), default=Device_Type_EN.UNLIMIT.value, nullable=False, comment='设备类型') + device_type = Column(String(128), default=Device_Type_EN.UNLIMIT.value, nullable=False, comment='设备类型,可多选,默认支持所有设备') device_arch = Column(String(256), default=Device_Arch.NOARCH.value, nullable=False, comment='设备架构类型,可多选,默认支撑所有类型') labels = Column(String(256), nullable=True, default='', comment='设备标签,多个用,隔开') desc = Column(String(512), default='', nullable=True, comment='用例描述') @@ -123,8 +123,8 @@ async def get_path_by_group(): async def search_label_map_group_by_name(label_names): - count_orm = select(CaseLabelMap.label_name, func.count(CaseLabelMap.label_name))\ - .where(CaseLabelMap.label_name.in_(label_names))\ + count_orm = select(CaseLabelMap.label_name, func.count(CaseLabelMap.label_name)) \ + .where(CaseLabelMap.label_name.in_(label_names)) \ .group_by(CaseLabelMap.label_name) async with db.conn() as session: results = await session.execute(count_orm) diff --git a/models/plan_model.py b/models/plan_model.py index 65fd9e339d927ee587f4626b8da9f890771cc43a..ada69e317fc382b156cdef341cd6b37736da4f4a 100644 --- a/models/plan_model.py +++ b/models/plan_model.py @@ -20,15 +20,6 @@ class Plan(CommonModel): report = Column(Boolean, nullable=False, default=False, comment='测试报告是否已生成') -async def update_plan_status(status, plan_id): - plan = await Plan.query_obj_one(Plan.id == plan_id) - if not plan: - return ERROR_UN_EXISTED_PLAN, False - plan.status = status - await plan.update() - return plan.to_dict(), True - - class PlanReview(CommonModel): __tablename__ = 'plan_review' @@ -36,3 +27,12 @@ class PlanReview(CommonModel): reviewer = Column(String(32), nullable=False, comment='测试需方案的评审人') status = Column(String(16), nullable=False, default=Status_EN.REVIEWING.value, comment='评审状态') desc = Column(String(512), nullable=True, comment='评审内容') + + +async def update_plan_status(status, plan_id): + plan = await Plan.query_obj_one(Plan.id == plan_id) + if not plan: + return ERROR_UN_EXISTED_PLAN, False + plan.status = status + await plan.update() + return plan.to_dict(), True diff --git a/models/task_model.py b/models/task_model.py index 42428e22e105b1319c7c375939a6090cfd5b5872..7b430d29d969342eb16219b0db4f3f7bb63644ee 100644 --- a/models/task_model.py +++ b/models/task_model.py @@ -20,6 +20,9 @@ class Task(CommonModel): config = Column(JSON(), nullable=True, comment='测试任务配置') device_id = Column(Integer, nullable=True, comment='测试设备ID') device_ip = Column(String(256), nullable=True, default='-', comment='测试机器IP') + workspace = Column(String(128), nullable=False, comment='tone workspace') + project = Column(String(128), nullable=False, comment='tone project') + job_type = Column(String(128), nullable=False, comment='tone job type') async def update_manual_task_status(task_ids):