class VariableModel(CloverModel): __tablename__ = 'variable' id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") team = db.Column(db.String(64), index=True, comment="团队") project = db.Column(db.String(256), index=True, comment="项目") owner = db.Column(db.String(64), index=True, comment="负责人") name = db.Column(db.String(64), index=True, comment="变量名") value = db.Column(db.String(64), index=True, comment="变量值") enable = db.Column(db.Integer, default=0, comment="0有效,1无效") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")
class KeywordModel(CloverModel): __tablename__ = 'keyword' id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") team = db.Column(db.String(64), index=True, comment="团队") project = db.Column(db.String(256), index=True, comment="项目") owner = db.Column(db.String(64), index=True, comment="负责人") enable = db.Column(db.Integer, default=0, comment="0有效,1无效") name = db.Column(db.String(64), index=True, comment="关键字名称") keyword = db.Column(db.String(64), index=True, comment="关键字代码") mock = db.Column(db.JSON, comment="关键字调试数据") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")
class SuiteModel(CloverModel): __tablename__ = 'suite' id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") team = db.Column(db.String(64), index=True, comment="团队") project = db.Column(db.String(256), index=True, comment="项目") name = db.Column(db.String(64), index=True, comment="套件名称") type = db.Column(db.String(64), index=True, comment="套件类型") cases = db.Column(db.JSON, comment="测试用例列表") enable = db.Column(db.Integer, default=0, comment="0有效,1无效") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")
class TaskModel(CloverModel): __tablename__ = 'task' id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") team = db.Column(db.String(64), index=True, comment="团队") project = db.Column(db.String(256), index=True, comment="项目") name = db.Column(db.String(64), index=True, comment="任务名称") cron = db.Column(db.String(64), index=True, comment="表达式") variable = db.Column(db.JSON, comment="触发变量") enable = db.Column(db.Integer, default=0, comment="0有效,1无效") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")
class InterfaceSuiteDashboardModel(CloverModel): __tablename__ = 'interface_suite_dashboard' __table_args__ = {'extend_existing': True} id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") team = db.Column(db.String(64), index=True, comment="团队") project = db.Column(db.String(256), index=True, comment="项目") name = db.Column(db.String(64), index=True, comment="套件名称") identifier = db.Column(db.Integer, comment="套件ID") status = db.Column(db.Integer, comment="套件运行状态[0-passed|1-failed|2-error|3-skiped]") remark = db.Column(db.String(256), index=True, comment="备注原因") enable = db.Column(db.Integer, default=0, comment="0有效,1无效") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")
class LoggerModel(CloverModel): __tablename__ = 'logger' id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") run_id = db.Column(db.Integer, nullable=False, comment="运行ID") case_id = db.Column(db.Integer, nullable=False, comment="用例ID") suite_id = db.Column(db.Integer, nullable=False, comment="套件ID") level = db.Column(db.Integer, nullable=False, comment="运行步骤") step = db.Column(db.String(64), nullable=False, comment="运行步骤") message = db.Column(db.String(1024), nullable=False, comment="运行消息") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间")
class KeywordModel(CloverModel): __tablename__ = 'keyword' id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") name = db.Column(db.String(64), index=True, comment="关键字名称") description = db.Column(db.String(256), index=True, comment="关键字功能描述") keyword = db.Column(db.Text, comment="关键字代码") classify = db.Column(db.String(32), index=True, comment="关键字类型") enable = db.Column(db.Integer, default=0, comment="0有效,1无效") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")
class DashboardModel(CloverModel): __tablename__ = 'dashboard' __table_args__ = {'extend_existing': True} id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") team = db.Column(db.String(64), index=True, comment="团队") project = db.Column(db.String(256), index=True, comment="项目") type = db.Column(db.String(64), index=True, comment="报告类型[interface|automation]") suite = db.Column(db.Integer, nullable=False, comment="任务维度[0为用例|1为套件]") name = db.Column(db.String(64), index=True, comment="用例或套件名称") identifier = db.Column(db.Integer, comment="用例或套件ID") statistics = db.Column(db.JSON(), comment="用例或套件的历史统计数据") score = db.Column(db.Integer, comment="用例或套件的得分") enable = db.Column(db.Integer, default=0, comment="0有效,1无效") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")
class MockModel(CloverModel): __tablename__ = 'mock' id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") name = db.Column(db.String(64), index=True, comment="图书名") author = db.Column(db.String(64), index=True, comment="图书作者") price = db.Column(db.Float(), default=0.0, comment="图书价格") publisher = db.Column(db.String(64), index=True, comment="出版社") type = db.Column(db.Integer, default=1, comment="类型:1科技 2历史 3教育 4社科 5文艺") isbn = db.Column(db.String(13), default="1", comment="国际标准书号") enable = db.Column(db.Integer, default=0, comment="0有效,1无效") publish = db.Column(db.DateTime, default=datetime.datetime.now, comment="出版时间") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")
class InterfaceModel(CloverModel): __tablename__ = 'interface' id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") team = db.Column(db.String(64), index=True, comment="团队") project = db.Column(db.String(256), index=True, comment="项目") name = db.Column(db.String(64), index=True, comment="用例名称") type = db.Column(db.String(64), index=True, default="interface", comment="套件类型") sub_type = db.Column(db.String(64), index=True, default="interface", comment="[suite|interface]") method = db.Column(db.String(64), comment="请求方法") host = db.Column(db.String(512), comment="测试域名") path = db.Column(db.String(4096), comment="请求路径") header = db.Column(db.JSON, comment="http请求头") params = db.Column(db.JSON, comment="http请求参数") body = db.Column(db.JSON, comment="http请求体") verify = db.Column(db.JSON, comment="响应断言") extract = db.Column(db.JSON, comment="提取响应参数") status = db.Column(db.Boolean, default=True, comment="用例开关状态,True-打开,False-关闭") timeout = db.Column(db.Integer, default=120, comment="接口的超时时间") retry = db.Column(db.Integer, default=1, comment="接口失败时重试次数") enable = db.Column(db.Integer, default=0, comment="0有效,1无效") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")
class InterfaceModel(CloverModel): __tablename__ = 'interface' id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") team = db.Column(db.String(64), index=True, comment="团队") project = db.Column(db.String(256), index=True, comment="项目") name = db.Column(db.String(64), index=True, comment="用例名称") method = db.Column(db.String(64), comment="请求方法") host = db.Column(db.String(512), comment="测试域名") path = db.Column(db.String(4096), comment="请求路径") header = db.Column(db.JSON, comment="http请求头") params = db.Column(db.JSON, comment="http请求参数") body = db.Column(db.JSON, comment="http请求体") verify = db.Column(db.JSON, comment="响应断言") extract = db.Column(db.JSON, comment="提取响应参数") enable = db.Column(db.Integer, default=0, comment="0有效,1无效") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")
class ReportModel(CloverModel): __tablename__ = 'report' id = db.Column(db.Integer, nullable=False, primary_key=True, comment="ID") team = db.Column(db.String(64), index=True, comment="团队") project = db.Column(db.String(256), index=True, comment="项目") name = db.Column(db.String(64), index=True, comment="套件名称") type = db.Column(db.String(64), index=True, comment="报告类型[interface|automation]") interface = db.Column(db.JSON, comment="测试接口个数") start = db.Column(db.DateTime, default=datetime.datetime.now, comment="测试开始时间") end = db.Column(db.DateTime, default=datetime.datetime.now, comment="测试结束时间") duration = db.Column(db.Float, default=0.0, comment="测试持续时间") platform = db.Column(db.JSON, comment="clover,python和平台信息") detail = db.Column(db.JSON, comment="用例执行细节信息") log = db.Column(db.JSON, comment="用例执行日志信息") enable = db.Column(db.Integer, default=0, comment="0有效,1无效") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")
class HistoryModel(CloverModel): __tablename__ = 'history' sid = db.Column(db.Integer, default=0, primary_key=True, comment="套件ID") cid = db.Column(db.Integer, default=0, primary_key=True, comment="接口ID") sname = db.Column(db.String(64), index=True, default="默认套件名称", comment="套件名称") cname = db.Column(db.String(64), index=True, default="默认用例名称", comment="用例名称") team = db.Column(db.String(64), index=True, comment="团队") project = db.Column(db.String(64), index=True, comment="项目") type = db.Column(db.String(64), default="interface", comment="套件类型") sub_type = db.Column(db.String(64), default="interface", comment="[suite|interface]") success = db.Column(db.Integer, default=0, comment="用例的成功运行次数") error = db.Column(db.Integer, default=0, comment="用例的出错运行次数") failed = db.Column(db.Integer, default=0, comment="用例的失败运行次数") skiped = db.Column(db.Integer, default=0, comment="用例的跳过运行次数") total = db.Column(db.Integer, default=0, comment="用例的全部运行次数") average = db.Column(db.Float, default=0.0, comment="用例的平均运行时间") valid = db.Column(db.Integer, default=0, comment="报告是否有效|0有效,1无效") enable = db.Column(db.Integer, default=0, comment="记录是否有效|0有效,1无效") created = db.Column(db.DateTime, default=datetime.datetime.now, comment="创建时间") updated = db.Column(db.DateTime, default=datetime.datetime.now, comment="修改时间")