增加项目的各个功能
This commit is contained in:
62
app/api/model/caseModel.py
Normal file
62
app/api/model/caseModel.py
Normal file
@@ -0,0 +1,62 @@
|
||||
from sqlalchemy import BigInteger, Column, Integer, SmallInteger, String, TIMESTAMP, Text, text
|
||||
from sqlalchemy.dialects.postgresql import ARRAY, JSONB
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
|
||||
from common.sqlSession import to_dict
|
||||
|
||||
Base = declarative_base()
|
||||
Base.to_dict = to_dict
|
||||
|
||||
|
||||
class Module(Base):
|
||||
__tablename__ = 'module'
|
||||
id = Column(BigInteger, primary_key=True, autoincrement=True, comment='id')
|
||||
project_id = Column(BigInteger, nullable=False, comment='项目id')
|
||||
parent_id = Column(BigInteger, default=0, comment='父模块id')
|
||||
name = Column(String(128), nullable=False, comment='模块名称')
|
||||
sort_order = Column(Integer, default=0, comment='排序')
|
||||
path = Column(String(512), comment='模块路径')
|
||||
is_delete = Column(Integer, default=0, comment='0:未删除;1:已删除')
|
||||
|
||||
|
||||
class TestCase(Base):
|
||||
__tablename__ = 'test_case'
|
||||
id = Column(BigInteger, primary_key=True, autoincrement=True, comment='id')
|
||||
project_id = Column(BigInteger, nullable=False, comment='项目id')
|
||||
module_id = Column(BigInteger, comment='模块id')
|
||||
case_key = Column(String(64), nullable=False, comment='项目内唯一编号')
|
||||
title = Column(String(255), nullable=False, comment='标题')
|
||||
preconditions = Column(Text, comment='前置条件')
|
||||
steps = Column(Text, comment='步骤')
|
||||
expected_results = Column(Text, comment='预期结果')
|
||||
priority = Column(SmallInteger, default=2, comment='0:P0 1:P1 2:P2 3:P3')
|
||||
case_type = Column(SmallInteger, default=1, comment='1:功能 2:性能 3:安全 4:接口')
|
||||
tags = Column(ARRAY(String(64)), server_default=text("'{}'::varchar[]"), comment='标签')
|
||||
status = Column(SmallInteger, default=1, comment='1:正常 2:已废弃 3:评审中 4:评审通过')
|
||||
is_auto = Column(Integer, default=0, comment='0:未实现自动化;1:已实现自动化')
|
||||
created_by = Column(BigInteger, comment='创建人')
|
||||
is_delete = Column(Integer, default=0, comment='0:未删除;1:已删除')
|
||||
created_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), nullable=True, comment='创建时间')
|
||||
updated_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), server_onupdate=text('CURRENT_TIMESTAMP'), nullable=True, comment='修改时间')
|
||||
|
||||
|
||||
class CaseSnapshot(Base):
|
||||
__tablename__ = 'case_snapshot'
|
||||
id = Column(BigInteger, primary_key=True, autoincrement=True, comment='id')
|
||||
case_id = Column(BigInteger, nullable=False, comment='用例id')
|
||||
version = Column(Integer, nullable=False, comment='版本')
|
||||
snapshot = Column(JSONB, nullable=False, comment='快照')
|
||||
created_by = Column(BigInteger, comment='创建人')
|
||||
created_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), nullable=True, comment='创建时间')
|
||||
|
||||
|
||||
class CaseReview(Base):
|
||||
__tablename__ = 'case_review'
|
||||
id = Column(BigInteger, primary_key=True, autoincrement=True, comment='id')
|
||||
case_id = Column(BigInteger, nullable=False, comment='用例id')
|
||||
reviewer_id = Column(BigInteger, nullable=False, comment='评审人')
|
||||
status = Column(SmallInteger, default=0, comment='0:待评审 1:通过 2:驳回 3:建议修改')
|
||||
comments = Column(Text, comment='评论')
|
||||
diff_content = Column(Text, comment='JSON diff')
|
||||
created_time = Column(TIMESTAMP, server_default=text('CURRENT_TIMESTAMP'), nullable=True, comment='创建时间')
|
||||
reviewed_time = Column(TIMESTAMP, nullable=True, comment='评审时间')
|
||||
Reference in New Issue
Block a user