fix: resolve CI/CD test and lint failures
Some checks failed
CI / test (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / type-check (push) Has been cancelled

- 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:
2026-02-04 13:47:36 +00:00
parent bab2d84ba1
commit 9f65286ba8

View File

@@ -1,15 +1,13 @@
"""Tests for the CLI module.""" """Tests for the CLI module."""
import json
import os
import tempfile
from unittest.mock import MagicMock, patch
import pytest
from click.testing import CliRunner from click.testing import CliRunner
from api_snapshot.cli.cli import main, list_snapshots, snapshot_info, delete_snapshot from api_snapshot.cli.cli import (
from api_snapshot.cli.record import record_command, record_multi_command delete_snapshot,
list_snapshots,
main,
snapshot_info,
)
from api_snapshot.cli.serve import serve_command, serve_info_command from api_snapshot.cli.serve import serve_command, serve_info_command
from api_snapshot.snapshot.manager import SnapshotManager from api_snapshot.snapshot.manager import SnapshotManager
@@ -53,7 +51,11 @@ class TestListCommand:
def test_list_with_snapshots(self, temp_dir): def test_list_with_snapshots(self, temp_dir):
"""Test listing with snapshots.""" """Test listing with snapshots."""
from api_snapshot.recorder.recorder import RecordedRequest, RecordedResponse, RequestResponsePair from api_snapshot.recorder.recorder import (
RecordedRequest,
RecordedResponse,
RequestResponsePair,
)
manager = SnapshotManager(temp_dir) manager = SnapshotManager(temp_dir)
@@ -61,13 +63,13 @@ class TestListCommand:
method="GET", method="GET",
url="https://api.example.com", url="https://api.example.com",
headers={}, headers={},
body=None body=None,
) )
resp = RecordedResponse( resp = RecordedResponse(
status_code=200, status_code=200,
headers={}, headers={},
body="{}", body="{}",
latency_ms=100 latency_ms=100,
) )
pair = RequestResponsePair(request=req, response=resp) pair = RequestResponsePair(request=req, response=resp)
@@ -88,14 +90,19 @@ class TestSnapshotInfoCommand:
"""Test info for non-existent snapshot.""" """Test info for non-existent snapshot."""
runner = CliRunner() runner = CliRunner()
result = runner.invoke(snapshot_info, ["nonexistent"], obj={"snapshot_dir": temp_dir}) result = runner.invoke(snapshot_info, ["nonexistent"],
obj={"snapshot_dir": temp_dir})
assert result.exit_code != 0 assert result.exit_code != 0
assert "not found" in result.output assert "not found" in result.output
def test_info_existing(self, temp_dir): def test_info_existing(self, temp_dir):
"""Test info for existing snapshot.""" """Test info for existing snapshot."""
from api_snapshot.recorder.recorder import RecordedRequest, RecordedResponse, RequestResponsePair from api_snapshot.recorder.recorder import (
RecordedRequest,
RecordedResponse,
RequestResponsePair,
)
manager = SnapshotManager(temp_dir) manager = SnapshotManager(temp_dir)
@@ -103,25 +110,26 @@ class TestSnapshotInfoCommand:
method="GET", method="GET",
url="https://api.example.com/users", url="https://api.example.com/users",
headers={}, headers={},
body=None body=None,
) )
resp = RecordedResponse( resp = RecordedResponse(
status_code=200, status_code=200,
headers={"Content-Type": "application/json"}, headers={"Content-Type": "application/json"},
body='{"users": []}', body='{"users": []}',
latency_ms=100 latency_ms=100,
) )
pair = RequestResponsePair(request=req, response=resp) pair = RequestResponsePair(request=req, response=resp)
manager.save_snapshot( manager.save_snapshot(
"my-snapshot", "my-snapshot",
requests=[pair], requests=[pair],
description="Test description" description="Test description",
) )
runner = CliRunner() runner = CliRunner()
result = runner.invoke(snapshot_info, ["my-snapshot"], obj={"snapshot_dir": temp_dir}) result = runner.invoke(snapshot_info, ["my-snapshot"],
obj={"snapshot_dir": temp_dir})
assert result.exit_code == 0 assert result.exit_code == 0
assert "my-snapshot" in result.output assert "my-snapshot" in result.output
@@ -138,7 +146,7 @@ class TestDeleteCommand:
result = runner.invoke( result = runner.invoke(
delete_snapshot, delete_snapshot,
["nonexistent", "--force"], ["nonexistent", "--force"],
obj={"snapshot_dir": temp_dir} obj={"snapshot_dir": temp_dir},
) )
assert result.exit_code != 0 assert result.exit_code != 0
@@ -146,7 +154,11 @@ class TestDeleteCommand:
def test_delete_with_confirmation(self, temp_dir): def test_delete_with_confirmation(self, temp_dir):
"""Test deleting with confirmation.""" """Test deleting with confirmation."""
from api_snapshot.recorder.recorder import RecordedRequest, RecordedResponse, RequestResponsePair from api_snapshot.recorder.recorder import (
RecordedRequest,
RecordedResponse,
RequestResponsePair,
)
manager = SnapshotManager(temp_dir) manager = SnapshotManager(temp_dir)
@@ -154,13 +166,13 @@ class TestDeleteCommand:
method="GET", method="GET",
url="https://api.example.com", url="https://api.example.com",
headers={}, headers={},
body=None body=None,
) )
resp = RecordedResponse( resp = RecordedResponse(
status_code=200, status_code=200,
headers={}, headers={},
body="{}", body="{}",
latency_ms=50 latency_ms=50,
) )
pair = RequestResponsePair(request=req, response=resp) pair = RequestResponsePair(request=req, response=resp)
@@ -171,7 +183,7 @@ class TestDeleteCommand:
result = runner.invoke( result = runner.invoke(
delete_snapshot, delete_snapshot,
["to-delete", "--force"], ["to-delete", "--force"],
obj={"snapshot_dir": temp_dir} obj={"snapshot_dir": temp_dir},
) )
assert result.exit_code == 0 assert result.exit_code == 0
@@ -190,7 +202,7 @@ class TestServeCommand:
result = runner.invoke( result = runner.invoke(
serve_command, serve_command,
["nonexistent"], ["nonexistent"],
obj={"snapshot_dir": temp_dir} obj={"snapshot_dir": temp_dir},
) )
assert result.exit_code != 0 assert result.exit_code != 0
@@ -203,7 +215,7 @@ class TestServeCommand:
result = runner.invoke( result = runner.invoke(
serve_info_command, serve_info_command,
["nonexistent"], ["nonexistent"],
obj={"snapshot_dir": temp_dir} obj={"snapshot_dir": temp_dir},
) )
assert result.exit_code != 0 assert result.exit_code != 0
@@ -215,7 +227,11 @@ class TestCLIIntegration:
def test_cli_commands_chain(self, temp_dir): def test_cli_commands_chain(self, temp_dir):
"""Test chaining CLI commands together.""" """Test chaining CLI commands together."""
from api_snapshot.recorder.recorder import RecordedRequest, RecordedResponse, RequestResponsePair from api_snapshot.recorder.recorder import (
RecordedRequest,
RecordedResponse,
RequestResponsePair,
)
runner = CliRunner() runner = CliRunner()
@@ -223,13 +239,13 @@ class TestCLIIntegration:
method="GET", method="GET",
url="https://api.example.com/test", url="https://api.example.com/test",
headers={}, headers={},
body=None body=None,
) )
resp = RecordedResponse( resp = RecordedResponse(
status_code=200, status_code=200,
headers={"Content-Type": "application/json"}, headers={"Content-Type": "application/json"},
body='{"message": "hello"}', body='{"message": "hello"}',
latency_ms=50 latency_ms=50,
) )
pair = RequestResponsePair(request=req, response=resp) pair = RequestResponsePair(request=req, response=resp)
@@ -238,7 +254,7 @@ class TestCLIIntegration:
list_result = runner.invoke( list_result = runner.invoke(
list_snapshots, list_snapshots,
obj={"snapshot_dir": temp_dir} obj={"snapshot_dir": temp_dir},
) )
assert list_result.exit_code == 0 assert list_result.exit_code == 0
@@ -247,7 +263,7 @@ class TestCLIIntegration:
info_result = runner.invoke( info_result = runner.invoke(
snapshot_info, snapshot_info,
["test-chain"], ["test-chain"],
obj={"snapshot_dir": temp_dir} obj={"snapshot_dir": temp_dir},
) )
assert info_result.exit_code == 0 assert info_result.exit_code == 0