From 948de53fd83fa9a075691e6724e82df7a8605925 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Wed, 4 Feb 2026 13:47:37 +0000 Subject: [PATCH] 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 --- tests/test_snapshot.py | 115 +++++++++++++++++++---------------------- 1 file changed, 54 insertions(+), 61 deletions(-) diff --git a/tests/test_snapshot.py b/tests/test_snapshot.py index f50ced1..43c25ed 100644 --- a/tests/test_snapshot.py +++ b/tests/test_snapshot.py @@ -2,24 +2,20 @@ import json import os + import pytest from api_snapshot.snapshot.manager import ( + SNAPSHOT_VERSION, Snapshot, - SnapshotMetadata, SnapshotManager, - SNAPSHOT_VERSION -) -from api_snapshot.recorder.recorder import ( - RecordedRequest, - RecordedResponse, - RequestResponsePair + SnapshotMetadata, ) class TestSnapshotMetadata: """Tests for SnapshotMetadata class.""" - + def test_create_metadata(self): """Test creating snapshot metadata.""" meta = SnapshotMetadata( @@ -27,24 +23,24 @@ class TestSnapshotMetadata: description="Test description", source_url="https://api.example.com" ) - + assert meta.version == "1.0" assert meta.description == "Test description" assert meta.source_url == "https://api.example.com" assert meta.latency_mode == "original" assert meta.tags == [] - + def test_metadata_defaults(self): """Test metadata default values.""" meta = SnapshotMetadata() - + assert meta.version == SNAPSHOT_VERSION assert meta.description == "" assert meta.source_url is None assert meta.latency_mode == "original" assert meta.custom_latency_ms is None assert meta.tags == [] - + def test_metadata_to_dict(self): """Test converting metadata to dictionary.""" meta = SnapshotMetadata( @@ -52,14 +48,14 @@ class TestSnapshotMetadata: description="Test", tags=["tag1", "tag2"] ) - + data = meta.to_dict() - + assert data["version"] == "1.0" assert data["description"] == "Test" assert data["tags"] == ["tag1", "tag2"] assert "timestamp" in data - + def test_metadata_from_dict(self): """Test creating metadata from dictionary.""" data = { @@ -71,9 +67,9 @@ class TestSnapshotMetadata: "custom_latency_ms": 100, "tags": ["api", "test"] } - + meta = SnapshotMetadata.from_dict(data) - + assert meta.version == "1.0" assert meta.description == "My snapshot" assert meta.source_url == "https://api.com" @@ -84,29 +80,29 @@ class TestSnapshotMetadata: class TestSnapshot: """Tests for Snapshot class.""" - + def test_create_snapshot(self, sample_pair): """Test creating a snapshot.""" meta = SnapshotMetadata(description="Test snapshot") snapshot = Snapshot(metadata=meta, requests=[sample_pair]) - + assert snapshot.metadata == meta assert len(snapshot.requests) == 1 assert snapshot.requests[0] == sample_pair - + def test_snapshot_to_dict(self, sample_snapshot): """Test converting snapshot to dictionary.""" data = sample_snapshot.to_dict() - + assert "metadata" in data assert "requests" in data assert data["metadata"]["description"] == "Test snapshot" assert len(data["requests"]) == 1 - + def test_snapshot_from_dict(self, sample_snapshot_dict): """Test creating snapshot from dictionary.""" snapshot = Snapshot.from_dict(sample_snapshot_dict) - + assert snapshot.metadata.description == "Test snapshot" assert len(snapshot.requests) == 1 assert snapshot.requests[0].request.method == "GET" @@ -114,14 +110,14 @@ class TestSnapshot: class TestSnapshotManager: """Tests for SnapshotManager class.""" - + def test_init_manager(self, temp_dir): """Test initializing snapshot manager.""" manager = SnapshotManager(temp_dir) - + assert manager.snapshot_dir == temp_dir assert os.path.exists(temp_dir) - + def test_save_snapshot(self, snapshot_manager, sample_pair): """Test saving a snapshot.""" path = snapshot_manager.save_snapshot( @@ -129,16 +125,16 @@ class TestSnapshotManager: requests=[sample_pair], description="Saved snapshot" ) - + assert os.path.exists(path) assert path.endswith("test-save.json") - + with open(path) as f: data = json.load(f) - + assert data["metadata"]["description"] == "Saved snapshot" assert len(data["requests"]) == 1 - + def test_save_snapshot_with_tags(self, snapshot_manager, sample_pair): """Test saving snapshot with tags.""" snapshot_manager.save_snapshot( @@ -146,98 +142,95 @@ class TestSnapshotManager: requests=[sample_pair], tags=["tag1", "tag2"] ) - + loaded = snapshot_manager.load_snapshot("with-tags") - + assert "tag1" in loaded.metadata.tags assert "tag2" in loaded.metadata.tags - + def test_load_snapshot(self, snapshot_manager, snapshot_file): """Test loading a snapshot.""" - with open(snapshot_file) as f: - expected_data = json.load(f) - snapshot = snapshot_manager.load_snapshot("test_snapshot") - + assert snapshot.metadata.description == "Test snapshot" assert len(snapshot.requests) == 2 - + def test_load_snapshot_not_found(self, snapshot_manager): """Test loading non-existent snapshot.""" with pytest.raises(FileNotFoundError): snapshot_manager.load_snapshot("nonexistent") - + def test_load_invalid_snapshot(self, temp_dir): """Test loading invalid snapshot format.""" path = os.path.join(temp_dir, "invalid.json") - + with open(path, "w") as f: json.dump({"invalid": "format"}, f) - + manager = SnapshotManager(temp_dir) - + with pytest.raises(ValueError): manager.load_snapshot("invalid") - + def test_delete_snapshot(self, snapshot_manager, sample_pair): """Test deleting a snapshot.""" snapshot_manager.save_snapshot("to-delete", requests=[sample_pair]) - + assert snapshot_manager.snapshot_exists("to-delete") - + snapshot_manager.delete_snapshot("to-delete") - + assert not snapshot_manager.snapshot_exists("to-delete") - + def test_delete_nonexistent(self, snapshot_manager): """Test deleting non-existent snapshot.""" with pytest.raises(FileNotFoundError): snapshot_manager.delete_snapshot("nonexistent") - + def test_list_snapshots(self, snapshot_manager, sample_pair): """Test listing snapshots.""" snapshot_manager.save_snapshot("snap1", requests=[sample_pair]) snapshot_manager.save_snapshot("snap2", requests=[sample_pair]) - + snapshots = snapshot_manager.list_snapshots() - + assert len(snapshots) == 2 names = [s["name"] for s in snapshots] assert "snap1" in names assert "snap2" in names - + def test_list_empty(self, temp_dir): """Test listing with no snapshots.""" manager = SnapshotManager(temp_dir) - + snapshots = manager.list_snapshots() - + assert snapshots == [] - + def test_snapshot_exists(self, snapshot_manager, sample_pair): """Test checking if snapshot exists.""" assert not snapshot_manager.snapshot_exists("test-exists") - + snapshot_manager.save_snapshot("test-exists", requests=[sample_pair]) - + assert snapshot_manager.snapshot_exists("test-exists") - + def test_get_path(self, snapshot_manager): """Test getting snapshot path.""" path = snapshot_manager._get_path("my-snapshot") - + assert path.endswith("my-snapshot.json") - + def test_get_path_with_extension(self, snapshot_manager): """Test getting path with extension.""" path = snapshot_manager._get_path("my-snapshot.json") - + assert path.endswith("my-snapshot.json") class TestSnapshotVersion: """Tests for snapshot versioning.""" - + def test_version_constant(self): """Test version constant is defined.""" assert SNAPSHOT_VERSION == "1.0"