Commit Graph
13 Commits
Author SHA1 Message Date
Black_Raven b5ae8a1a46 feat(models): Added Validator class
Validator checks response assertions:
- Supports status code validation
- Supports JSON field validation
- Returns True if all assertions pass
2026-08-24 15:47:46 +03:00
Black_Raven 144d749678 feat(models): Added Extractor class
Extractor extracts data from responses:
- Supports JSON path extraction
- Supports header and status extraction
- Saves extracted values to Context
2026-08-24 15:47:40 +03:00
Black_Raven dd7f07b2d0 feat(models): Added Executor class
Executor performs HTTP requests:
- Uses httpx for HTTP calls
- Resolves {{variable}} in URLs
- Returns Response with status, body, headers
2026-08-24 15:47:40 +03:00
Black_Raven adb9ed31c1 feat(models): Added Context class
Context stores execution state:
- variables: static test variables
- extracted: data extracted from responses
- resolve(): replaces {{var}} placeholders with values
2026-08-24 15:47:32 +03:00
Black_Raven 614cfa8549 fix(models): Add missing imports and AuthModel to itm.py
Added pydantic BaseModel import, typing Any, and AuthModel class
for authentication support
2026-08-24 15:47:27 +03:00
Black_Raven 3b39701453 docs: Add AIProjectCard.md
Project specification with architecture, phases, and MVP requirements
2026-08-24 15:47:14 +03:00
Black_Raven 92bcb4c5f0 chore: Add .gitignore
Standard Python .gitignore with IDE and build artifacts
2026-08-24 15:47:13 +03:00
Black_Raven c0af7f5bf3 feat(models): Added AssertModel
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
2026-08-24 15:35:47 +03:00
Black_Raven 2784e3f156 feat(models): Added ExtractModel
ExtractModel helps to extract data from the server response
class ExtractModel:
    name: str            # Name of data
    json_path: str       # Name of field in data
    source: str          # Source of data
2026-08-24 15:30:51 +03:00
Black_Raven bfd6c6d961 feat(models): Added RequestModel
RequestModel consists of http response data
class RequestModel:
    method: str     # http method
    path: str       # url path
    headers: dict   # type of info to send
    body: dict      # request body data
    timeout: int    # timeout
2026-08-24 15:26:32 +03:00
Black_Raven 8e68fb9008 feat(models): Add StepModel
StepModel is model for 1 step in all test.
class StepModel:
    name: str                    # Step name
    request: RequestModel        # What to send
    extract: list[ExtractModel]  # What to extract from the response
    assert: list[AssertModel]    # What to verify
2026-08-24 15:24:31 +03:00
Black_Raven 92fbe4443d feat(models): Added TestModel
TestModel is a test structure
class TestModel:
    name: str                    # Test name
    base_url: str                # App URL
    variables: dict              # Variables for test steps
    auth: AuthModel | None       # How to authenticate
    steps: list[StepModel]       # Test steps
2026-08-24 15:19:37 +03:00
Black_Raven 4b18035fd5 first commit 2026-08-18 10:26:47 +03:00