v1版本上线

This commit is contained in:
zhangtao
2025-02-13 04:31:04 +08:00
parent 6d605fe15d
commit 965a4187b5
35 changed files with 45 additions and 3108 deletions
@@ -1,37 +0,0 @@
# -*- coding: utf-8 -*-
from typing import Optional
from pydantic import BaseModel, ConfigDict, Field
from app.core.base_schema import BaseSchema
class CaseCreateSchema(BaseModel):
"""接口测试用例创建模型"""
name: str = Field(..., description='测试用例名称')
status: Optional[bool] = Field(True, description='是否启用')
url: str = Field(..., description="接口地址")
method: str = Field(..., description="请求方法")
headers: Optional[dict] = Field(None, description="请求头")
params: Optional[dict] = Field(None, description="Query参数")
body: Optional[dict] = Field(None, description="请求体")
files: Optional[dict] = Field(None, description="上传文件配置")
parameter_need: bool = Field(True, description="是否需要公共参数")
expected: Optional[list] = Field(None, description="断言配置")
project_id: int = Field(..., gt=0, description="所属项目ID")
description: Optional[str] = Field(None, description="备注说明")
class CaseUpdateSchema(CaseCreateSchema):
"""接口测试用例更新模型"""
id: int = Field(..., gt=0, description="接口测试用例ID")
class CaseOutSchema(CaseCreateSchema, BaseSchema):
"""接口测试用例响应模型"""
model_config = ConfigDict(from_attributes=True)
project: Optional[dict] = Field(None, description="所属项目信息")
@@ -1,29 +0,0 @@
# -*- coding: utf-8 -*-
from typing import Optional
from pydantic import BaseModel, ConfigDict, Field
from app.core.base_schema import BaseSchema
class ProjectCreateSchema(BaseModel):
"""项目创建模型"""
name: str = Field(..., description="项目名称")
base_url: str = Field(..., description="基础URL")
headers: Optional[dict] = Field(None, description="公共请求头")
message: Optional[dict] = Field(None, description="通知配置")
description: Optional[str] = Field(None, description="备注说明")
class ProjectUpdateSchema(ProjectCreateSchema):
"""接口更新模型"""
id: int = Field(..., gt=0, description="接口ID")
class ProjectOutSchema(ProjectCreateSchema, BaseSchema):
"""项目响应模型"""
model_config = ConfigDict(from_attributes=True)
cases: Optional[list] = Field(None, description="关联的用例")
tasks: Optional[list] = Field(None, description="关联的任务")
@@ -1,40 +0,0 @@
# -*- coding: utf-8 -*-
from typing import Optional
from pydantic import BaseModel, ConfigDict, Field
from app.core.base_schema import BaseSchema
class TaskCreateSchema(BaseModel):
"""执行记录模型"""
name: str = Field(..., max_length=40, description="任务名称")
project_id: int = Field(..., gt=0, description="所属项目ID")
description: Optional[str] = Field(None, max_length=255, description="环境描述")
status: Optional[str] = Field(..., default="pedding", max_length=10, description="执行状态")
start_time: Optional[str] = Field(None, description="开始时间")
end_time: Optional[str] = Field(None, description="结束时间")
summary: Optional[dict] = Field(None, description="报告摘要")
total_count: Optional[int] = Field(None, ge=0, description="用例总数")
success_count: Optional[int] = Field(None, ge=0, description="成功数")
fail_count: Optional[int] = Field(None, ge=0, description="失败数")
skip_count: Optional[int] = Field(None, ge=0, description="跳过数")
error_count: Optional[int] = Field(None, ge=0, description="错误数")
logs: Optional[list] = Field(None, description="执行日志")
actual_response: Optional[dict] = Field(None, description="实际响应(仅API测试)")
class TaskUpdateSchema(TaskCreateSchema):
"""接口更新模型"""
id: int = Field(..., gt=0, description="接口ID")
class TaskOutSchema(TaskCreateSchema, BaseSchema):
"""接口响应模型"""
model_config = ConfigDict(from_attributes=True)
project: Optional[dict] = Field(None, description="所属项目信息")