48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
"""Test recorder functionality."""
|
|
|
|
import pytest
|
|
from api_snapshot.recorder.recorder import RecordedRequest, RecordedResponse, RequestResponsePair
|
|
|
|
|
|
def test_request_creation():
|
|
"""Test creating a recorded request."""
|
|
req = RecordedRequest(
|
|
method="GET",
|
|
url="https://api.example.com/users",
|
|
headers={"Accept": "application/json"},
|
|
body=None
|
|
)
|
|
assert req.method == "GET"
|
|
assert req.url == "https://api.example.com/users"
|
|
|
|
|
|
def test_response_creation():
|
|
"""Test creating a recorded response."""
|
|
resp = RecordedResponse(
|
|
status_code=200,
|
|
headers={"Content-Type": "application/json"},
|
|
body='{"id": 1}',
|
|
latency_ms=100
|
|
)
|
|
assert resp.status_code == 200
|
|
assert resp.latency_ms == 100
|
|
|
|
|
|
def test_request_response_pair():
|
|
"""Test request-response pair."""
|
|
req = RecordedRequest(
|
|
method="POST",
|
|
url="https://api.example.com/users",
|
|
headers={"Content-Type": "application/json"},
|
|
body='{"name": "John"}'
|
|
)
|
|
resp = RecordedResponse(
|
|
status_code=201,
|
|
headers={"Content-Type": "application/json"},
|
|
body='{"id": 1, "name": "John"}',
|
|
latency_ms=200
|
|
)
|
|
pair = RequestResponsePair(request=req, response=resp)
|
|
assert pair.request.method == "POST"
|
|
assert pair.response.status_code == 201
|