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:
@@ -1,15 +1,14 @@
|
|||||||
"""Tests for the recorder module."""
|
"""Tests for the recorder module."""
|
||||||
|
|
||||||
import pytest
|
|
||||||
from unittest.mock import MagicMock, patch
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
from api_snapshot.recorder.recorder import (
|
from api_snapshot.recorder.recorder import (
|
||||||
RecordedRequest,
|
RecordedRequest,
|
||||||
RecordedResponse,
|
RecordedResponse,
|
||||||
RequestResponsePair,
|
|
||||||
RecordingSession,
|
RecordingSession,
|
||||||
|
RequestResponsePair,
|
||||||
|
record_multiple,
|
||||||
record_session,
|
record_session,
|
||||||
record_multiple
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -22,7 +21,7 @@ class TestRecordedRequest:
|
|||||||
method="GET",
|
method="GET",
|
||||||
url="https://api.example.com/users",
|
url="https://api.example.com/users",
|
||||||
headers={"Accept": "application/json"},
|
headers={"Accept": "application/json"},
|
||||||
body=None
|
body=None,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert req.method == "GET"
|
assert req.method == "GET"
|
||||||
@@ -37,7 +36,7 @@ class TestRecordedRequest:
|
|||||||
method="POST",
|
method="POST",
|
||||||
url="https://api.example.com/data",
|
url="https://api.example.com/data",
|
||||||
headers={"Content-Type": "application/json"},
|
headers={"Content-Type": "application/json"},
|
||||||
body='{"key": "value"}'
|
body='{"key": "value"}',
|
||||||
)
|
)
|
||||||
|
|
||||||
data = req.to_dict()
|
data = req.to_dict()
|
||||||
@@ -55,7 +54,7 @@ class TestRecordedRequest:
|
|||||||
"url": "https://api.example.com/resource/1",
|
"url": "https://api.example.com/resource/1",
|
||||||
"headers": {"Authorization": "Bearer token"},
|
"headers": {"Authorization": "Bearer token"},
|
||||||
"body": "updated data",
|
"body": "updated data",
|
||||||
"timestamp": "2024-01-01T12:00:00"
|
"timestamp": "2024-01-01T12:00:00",
|
||||||
}
|
}
|
||||||
|
|
||||||
req = RecordedRequest.from_dict(data)
|
req = RecordedRequest.from_dict(data)
|
||||||
@@ -76,7 +75,7 @@ class TestRecordedResponse:
|
|||||||
status_code=200,
|
status_code=200,
|
||||||
headers={"Content-Type": "application/json"},
|
headers={"Content-Type": "application/json"},
|
||||||
body='{"success": true}',
|
body='{"success": true}',
|
||||||
latency_ms=150
|
latency_ms=150,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert resp.status_code == 200
|
assert resp.status_code == 200
|
||||||
@@ -90,7 +89,7 @@ class TestRecordedResponse:
|
|||||||
status_code=404,
|
status_code=404,
|
||||||
headers={"Content-Type": "text/plain"},
|
headers={"Content-Type": "text/plain"},
|
||||||
body="Not Found",
|
body="Not Found",
|
||||||
latency_ms=50
|
latency_ms=50,
|
||||||
)
|
)
|
||||||
|
|
||||||
data = resp.to_dict()
|
data = resp.to_dict()
|
||||||
@@ -106,7 +105,7 @@ class TestRecordedResponse:
|
|||||||
"status_code": 500,
|
"status_code": 500,
|
||||||
"headers": {"Content-Type": "application/json"},
|
"headers": {"Content-Type": "application/json"},
|
||||||
"body": '{"error": "internal"}',
|
"body": '{"error": "internal"}',
|
||||||
"latency_ms": 300
|
"latency_ms": 300,
|
||||||
}
|
}
|
||||||
|
|
||||||
resp = RecordedResponse.from_dict(data)
|
resp = RecordedResponse.from_dict(data)
|
||||||
@@ -124,7 +123,7 @@ class TestRequestResponsePair:
|
|||||||
"""Test creating a request-response pair."""
|
"""Test creating a request-response pair."""
|
||||||
pair = RequestResponsePair(
|
pair = RequestResponsePair(
|
||||||
request=sample_request,
|
request=sample_request,
|
||||||
response=sample_response
|
response=sample_response,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert pair.request == sample_request
|
assert pair.request == sample_request
|
||||||
@@ -193,7 +192,9 @@ class TestRecordingSession:
|
|||||||
"""Test that record_request adds to recordings."""
|
"""Test that record_request adds to recordings."""
|
||||||
session = RecordingSession()
|
session = RecordingSession()
|
||||||
|
|
||||||
with patch('api_snapshot.recorder.recorder.requests.Session.request') as mock_request:
|
with patch(
|
||||||
|
"api_snapshot.recorder.recorder.requests.Session.request"
|
||||||
|
) as mock_request:
|
||||||
mock_response = MagicMock()
|
mock_response = MagicMock()
|
||||||
mock_response.status_code = 200
|
mock_response.status_code = 200
|
||||||
mock_response.headers = {"Content-Type": "application/json"}
|
mock_response.headers = {"Content-Type": "application/json"}
|
||||||
@@ -211,11 +212,13 @@ class TestRecordingSession:
|
|||||||
callback = MagicMock()
|
callback = MagicMock()
|
||||||
session = RecordingSession(on_request=callback)
|
session = RecordingSession(on_request=callback)
|
||||||
|
|
||||||
with patch('api_snapshot.recorder.recorder.requests.Session.request') as mock_request:
|
with patch(
|
||||||
|
"api_snapshot.recorder.recorder.requests.Session.request"
|
||||||
|
) as mock_request:
|
||||||
mock_response = MagicMock()
|
mock_response = MagicMock()
|
||||||
mock_response.status_code = 200
|
mock_response.status_code = 200
|
||||||
mock_response.headers = {}
|
mock_response.headers = {}
|
||||||
mock_response.text = '{}'
|
mock_response.text = "{}"
|
||||||
mock_request.return_value = mock_response
|
mock_request.return_value = mock_response
|
||||||
|
|
||||||
session.record_request("GET", "https://api.example.com")
|
session.record_request("GET", "https://api.example.com")
|
||||||
@@ -226,11 +229,13 @@ class TestRecordingSession:
|
|||||||
"""Test clearing recordings."""
|
"""Test clearing recordings."""
|
||||||
session = RecordingSession()
|
session = RecordingSession()
|
||||||
|
|
||||||
with patch('api_snapshot.recorder.recorder.requests.Session.request') as mock_request:
|
with patch(
|
||||||
|
"api_snapshot.recorder.recorder.requests.Session.request"
|
||||||
|
) as mock_request:
|
||||||
mock_response = MagicMock()
|
mock_response = MagicMock()
|
||||||
mock_response.status_code = 200
|
mock_response.status_code = 200
|
||||||
mock_response.headers = {}
|
mock_response.headers = {}
|
||||||
mock_response.text = '{}'
|
mock_response.text = "{}"
|
||||||
mock_request.return_value = mock_response
|
mock_request.return_value = mock_response
|
||||||
|
|
||||||
session.record_request("GET", "https://api.example.com")
|
session.record_request("GET", "https://api.example.com")
|
||||||
@@ -243,11 +248,13 @@ class TestRecordingSession:
|
|||||||
"""Test getting recordings."""
|
"""Test getting recordings."""
|
||||||
session = RecordingSession()
|
session = RecordingSession()
|
||||||
|
|
||||||
with patch('api_snapshot.recorder.recorder.requests.Session.request') as mock_request:
|
with patch(
|
||||||
|
"api_snapshot.recorder.recorder.requests.Session.request"
|
||||||
|
) as mock_request:
|
||||||
mock_response = MagicMock()
|
mock_response = MagicMock()
|
||||||
mock_response.status_code = 200
|
mock_response.status_code = 200
|
||||||
mock_response.headers = {}
|
mock_response.headers = {}
|
||||||
mock_response.text = '{}'
|
mock_response.text = "{}"
|
||||||
mock_request.return_value = mock_response
|
mock_request.return_value = mock_response
|
||||||
|
|
||||||
session.record_request("GET", "https://api.example.com/1")
|
session.record_request("GET", "https://api.example.com/1")
|
||||||
@@ -265,7 +272,9 @@ class TestRecordFunctions:
|
|||||||
|
|
||||||
def test_record_session(self):
|
def test_record_session(self):
|
||||||
"""Test record_session function."""
|
"""Test record_session function."""
|
||||||
with patch('api_snapshot.recorder.recorder.requests.Session.request') as mock_request:
|
with patch(
|
||||||
|
"api_snapshot.recorder.recorder.requests.Session.request"
|
||||||
|
) as mock_request:
|
||||||
mock_response = MagicMock()
|
mock_response = MagicMock()
|
||||||
mock_response.status_code = 200
|
mock_response.status_code = 200
|
||||||
mock_response.headers = {"Content-Type": "application/json"}
|
mock_response.headers = {"Content-Type": "application/json"}
|
||||||
@@ -274,7 +283,7 @@ class TestRecordFunctions:
|
|||||||
|
|
||||||
pairs = record_session(
|
pairs = record_session(
|
||||||
url="https://api.example.com/api",
|
url="https://api.example.com/api",
|
||||||
method="GET"
|
method="GET",
|
||||||
)
|
)
|
||||||
|
|
||||||
assert len(pairs) == 1
|
assert len(pairs) == 1
|
||||||
@@ -283,17 +292,19 @@ class TestRecordFunctions:
|
|||||||
|
|
||||||
def test_record_multiple(self):
|
def test_record_multiple(self):
|
||||||
"""Test record_multiple function."""
|
"""Test record_multiple function."""
|
||||||
with patch('api_snapshot.recorder.recorder.requests.Session.request') as mock_request:
|
with patch(
|
||||||
|
"api_snapshot.recorder.recorder.requests.Session.request"
|
||||||
|
) as mock_request:
|
||||||
mock_response = MagicMock()
|
mock_response = MagicMock()
|
||||||
mock_response.status_code = 200
|
mock_response.status_code = 200
|
||||||
mock_response.headers = {}
|
mock_response.headers = {}
|
||||||
mock_response.text = '{}'
|
mock_response.text = "{}"
|
||||||
mock_request.return_value = mock_response
|
mock_request.return_value = mock_response
|
||||||
|
|
||||||
config = [
|
config = [
|
||||||
{"method": "GET", "url": "https://api.example.com/1"},
|
{"method": "GET", "url": "https://api.example.com/1"},
|
||||||
{"method": "POST", "url": "https://api.example.com/2"},
|
{"method": "POST", "url": "https://api.example.com/2"},
|
||||||
{"method": "DELETE", "url": "https://api.example.com/3"}
|
{"method": "DELETE", "url": "https://api.example.com/3"},
|
||||||
]
|
]
|
||||||
|
|
||||||
pairs = record_multiple(requests_config=config)
|
pairs = record_multiple(requests_config=config)
|
||||||
|
|||||||
Reference in New Issue
Block a user