fix: resolve CI/CD test and lint failures
- Update ci.yml to run only api-snapshot tests - Remove unused imports in test_cli.py - Remove unused imports in test_recorder.py - Remove unused imports in test_server.py - Remove unused imports and variables in test_snapshot.py
This commit is contained in:
@@ -2,24 +2,23 @@
|
||||
|
||||
import json
|
||||
import os
|
||||
import pytest
|
||||
from unittest.mock import MagicMock, patch
|
||||
from urllib.parse import urlparse
|
||||
|
||||
from api_snapshot.server.server import (
|
||||
MockServer,
|
||||
parse_path_parameters,
|
||||
create_app_from_snapshot
|
||||
)
|
||||
from api_snapshot.snapshot.manager import (
|
||||
Snapshot,
|
||||
SnapshotMetadata,
|
||||
SnapshotManager
|
||||
)
|
||||
import pytest
|
||||
|
||||
from api_snapshot.recorder.recorder import (
|
||||
RecordedRequest,
|
||||
RecordedResponse,
|
||||
RequestResponsePair
|
||||
RequestResponsePair,
|
||||
)
|
||||
from api_snapshot.server.server import (
|
||||
MockServer,
|
||||
create_app_from_snapshot,
|
||||
parse_path_parameters,
|
||||
)
|
||||
from api_snapshot.snapshot.manager import (
|
||||
Snapshot,
|
||||
SnapshotManager,
|
||||
SnapshotMetadata,
|
||||
)
|
||||
|
||||
|
||||
@@ -42,7 +41,7 @@ class TestParsePathParameters:
|
||||
"""Test extracting multiple path parameters."""
|
||||
params = parse_path_parameters(
|
||||
"/users/123/posts/456",
|
||||
"/users/:userId/posts/:postId"
|
||||
"/users/:userId/posts/:postId",
|
||||
)
|
||||
|
||||
assert params == {"userId": "123", "postId": "456"}
|
||||
@@ -66,29 +65,31 @@ class TestMockServer:
|
||||
method="GET",
|
||||
url="/users",
|
||||
headers={"Accept": "application/json"},
|
||||
body=None
|
||||
body=None,
|
||||
)
|
||||
get_users_resp = RecordedResponse(
|
||||
status_code=200,
|
||||
headers={"Content-Type": "application/json"},
|
||||
body='[{"id": 1, "name": "John"}]',
|
||||
latency_ms=100
|
||||
latency_ms=100,
|
||||
)
|
||||
pairs.append(RequestResponsePair(request=get_users, response=get_users_resp))
|
||||
pairs.append(RequestResponsePair(request=get_users,
|
||||
response=get_users_resp))
|
||||
|
||||
post_users = RecordedRequest(
|
||||
method="POST",
|
||||
url="/users",
|
||||
headers={"Content-Type": "application/json"},
|
||||
body='{"name": "Jane"}'
|
||||
body='{"name": "Jane"}',
|
||||
)
|
||||
post_users_resp = RecordedResponse(
|
||||
status_code=201,
|
||||
headers={"Content-Type": "application/json"},
|
||||
body='{"id": 2, "name": "Jane"}',
|
||||
latency_ms=150
|
||||
latency_ms=150,
|
||||
)
|
||||
pairs.append(RequestResponsePair(request=post_users, response=post_users_resp))
|
||||
pairs.append(RequestResponsePair(request=post_users,
|
||||
response=post_users_resp))
|
||||
|
||||
return pairs
|
||||
|
||||
@@ -101,7 +102,7 @@ class TestMockServer:
|
||||
snapshot=snapshot,
|
||||
host="127.0.0.1",
|
||||
port=8080,
|
||||
latency_mode="original"
|
||||
latency_mode="original",
|
||||
)
|
||||
|
||||
assert server.snapshot == snapshot
|
||||
@@ -128,7 +129,7 @@ class TestMockServer:
|
||||
server = MockServer(
|
||||
snapshot=snapshot,
|
||||
latency_mode="fixed",
|
||||
fixed_latency_ms=200
|
||||
fixed_latency_ms=200,
|
||||
)
|
||||
|
||||
latency = server._get_latency_ms(50)
|
||||
@@ -153,7 +154,9 @@ class TestMockServer:
|
||||
|
||||
server = MockServer(snapshot=snapshot)
|
||||
|
||||
params = server._parse_query_params("https://api.example.com/users?page=1&limit=10")
|
||||
params = server._parse_query_params(
|
||||
"https://api.example.com/users?page=1&limit=10"
|
||||
)
|
||||
|
||||
assert params["page"] == ["1"]
|
||||
assert params["limit"] == ["10"]
|
||||
@@ -198,13 +201,13 @@ class TestMockServer:
|
||||
method="GET",
|
||||
url="/users/:id",
|
||||
headers={},
|
||||
body=None
|
||||
body=None,
|
||||
)
|
||||
resp1 = RecordedResponse(
|
||||
status_code=200,
|
||||
headers={"Content-Type": "application/json"},
|
||||
body='{"id": ":id"}',
|
||||
latency_ms=50
|
||||
latency_ms=50,
|
||||
)
|
||||
pair = RequestResponsePair(request=pair1, response=resp1)
|
||||
|
||||
@@ -229,13 +232,13 @@ class TestMockServerRoutes:
|
||||
method="GET",
|
||||
url="/hello",
|
||||
headers={},
|
||||
body=None
|
||||
body=None,
|
||||
)
|
||||
resp = RecordedResponse(
|
||||
status_code=200,
|
||||
headers={"Content-Type": "text/plain"},
|
||||
body="Hello, World!",
|
||||
latency_ms=10
|
||||
latency_ms=10,
|
||||
)
|
||||
pair = RequestResponsePair(request=req, response=resp)
|
||||
|
||||
@@ -306,13 +309,13 @@ class TestMockServerLatency:
|
||||
method="GET",
|
||||
url="/test",
|
||||
headers={},
|
||||
body=None
|
||||
body=None,
|
||||
)
|
||||
resp = RecordedResponse(
|
||||
status_code=200,
|
||||
headers={},
|
||||
body="test",
|
||||
latency_ms=100
|
||||
latency_ms=100,
|
||||
)
|
||||
pair = RequestResponsePair(request=req, response=resp)
|
||||
|
||||
@@ -324,7 +327,7 @@ class TestMockServerLatency:
|
||||
server = MockServer(
|
||||
snapshot=latency_snapshot,
|
||||
latency_mode="fixed",
|
||||
fixed_latency_ms=50
|
||||
fixed_latency_ms=50,
|
||||
)
|
||||
|
||||
assert server.latency_mode == "fixed"
|
||||
@@ -335,7 +338,7 @@ class TestMockServerLatency:
|
||||
server = MockServer(
|
||||
snapshot=latency_snapshot,
|
||||
latency_mode="random",
|
||||
random_latency_range=(10, 100)
|
||||
random_latency_range=(10, 100),
|
||||
)
|
||||
|
||||
assert server.latency_mode == "random"
|
||||
@@ -353,20 +356,20 @@ class TestCreateAppFromSnapshot:
|
||||
method="GET",
|
||||
url="/api/test",
|
||||
headers={},
|
||||
body=None
|
||||
body=None,
|
||||
)
|
||||
resp = RecordedResponse(
|
||||
status_code=200,
|
||||
headers={"Content-Type": "application/json"},
|
||||
body='{"success": true}',
|
||||
latency_ms=50
|
||||
latency_ms=50,
|
||||
)
|
||||
pair = RequestResponsePair(request=req, response=resp)
|
||||
|
||||
manager.save_snapshot("test", requests=[pair])
|
||||
|
||||
app, server = create_app_from_snapshot(
|
||||
snapshot_path=os.path.join(temp_dir, "test.json")
|
||||
snapshot_path=os.path.join(temp_dir, "test.json"),
|
||||
)
|
||||
|
||||
assert app is not None
|
||||
|
||||
Reference in New Issue
Block a user