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 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] = []