AsserrtModel needs for checking answer
class AssertModel:
type: str # What to check: "status" / "json" / "header"
path: str # Where to look: "$.user.id"
operator: str # How to check: "equals" / "exists" / "gt"
value: Any # What to check against: 200 / true
37 lines
778 B
Python
37 lines
778 B
Python
class RequestModel(BaseModel):
|
|
method: str = "GET"
|
|
path: str = "/"
|
|
headers: dict[str, str] = {}
|
|
query: dict[str, str] = {}
|
|
body: dict[str, Any] | str | None = None
|
|
body_type: str = "json"
|
|
timeout: int = 30
|
|
|
|
|
|
class ExtractModel(BaseModel):
|
|
name: str
|
|
json_path: str
|
|
source: str = "body"
|
|
|
|
|
|
class AssertModel(BaseModel):
|
|
type: str
|
|
path: str | None = None
|
|
operator: str = "equals"
|
|
value: Any = None
|
|
|
|
|
|
class StepModel(BaseModel):
|
|
name: str
|
|
request: RequestModel
|
|
extract: list[ExtractModel] = []
|
|
assert_: list[AssertModel] = []
|
|
|
|
|
|
class TestModel(BaseModel):
|
|
name: str = "Unnamed Test"
|
|
base_url: str = ""
|
|
variables: dict[str, str] = {}
|
|
auth: AuthModel | None = None
|
|
steps: list[StepModel] = []
|