1+ """Tests for IDGenerator abstract base class."""
12import uuid
23from unittest .mock import patch
34
@@ -35,10 +36,10 @@ def test_context_mutability(self):
3536
3637 def test_context_validation (self ):
3738 """Test that context raises validation error for invalid types."""
38- from pydantic import ValidationError
39+ from pydantic import ValidationError # pylint: disable=C0415
3940
4041 with pytest .raises (ValidationError ):
41- IDGeneratorContext (task_id = {"not" : "a string" })
42+ IDGeneratorContext (task_id = {"not" : "a string" }) # noqa
4243
4344
4445class TestIDGenerator :
@@ -47,24 +48,22 @@ class TestIDGenerator:
4748 def test_cannot_instantiate_abstract_class (self ):
4849 """Test that IDGenerator cannot be instantiated directly."""
4950 with pytest .raises (TypeError ):
50- IDGenerator () # noqa
51+ IDGenerator () # noqa pylint: disable=E0110
5152
5253 def test_subclass_must_implement_generate (self ):
5354 """Test that subclasses must implement the generate method."""
54-
55- class IncompleteGenerator (IDGenerator ): # noqa
55+
56+ class IncompleteGenerator (IDGenerator ): # noqa pylint: disable=C0115,R0903
5657 pass
5758
5859 with pytest .raises (TypeError ):
59- IncompleteGenerator () # noqa
60+ IncompleteGenerator () # noqa pylint: disable=E0110
6061
6162 def test_valid_subclass_implementation (self ):
6263 """Test that a valid subclass can be instantiated."""
63-
64- class ValidGenerator (IDGenerator ):
64+ class ValidGenerator (IDGenerator ): # pylint: disable=C0115,R0903
6565 def generate (self , context : IDGeneratorContext ) -> str :
6666 return "test_id"
67-
6867 generator = ValidGenerator ()
6968 assert generator .generate (IDGeneratorContext ()) == "test_id"
7069
@@ -84,15 +83,13 @@ def test_generate_returns_valid_uuid(self):
8483 generator = UUIDGenerator ()
8584 context = IDGeneratorContext ()
8685 result = generator .generate (context )
87-
8886 uuid .UUID (result )
8987
9088 def test_generate_returns_uuid_version_4 (self ):
9189 """Test that generate returns a UUID version 4."""
9290 generator = UUIDGenerator ()
9391 context = IDGeneratorContext ()
9492 result = generator .generate (context )
95-
9693 parsed_uuid = uuid .UUID (result )
9794 assert parsed_uuid .version == 4
9895
@@ -101,10 +98,8 @@ def test_generate_ignores_context(self):
10198 generator = UUIDGenerator ()
10299 context1 = IDGeneratorContext (task_id = "task_1" , context_id = "context_1" )
103100 context2 = IDGeneratorContext (task_id = "task_2" , context_id = "context_2" )
104-
105101 result1 = generator .generate (context1 )
106102 result2 = generator .generate (context2 )
107-
108103 uuid .UUID (result1 )
109104 uuid .UUID (result2 )
110105 assert result1 != result2
@@ -113,9 +108,7 @@ def test_generate_produces_unique_ids(self):
113108 """Test that multiple calls produce unique IDs."""
114109 generator = UUIDGenerator ()
115110 context = IDGeneratorContext ()
116-
117111 ids = [generator .generate (context ) for _ in range (100 )]
118-
119112 # All IDs should be unique
120113 assert len (ids ) == len (set (ids ))
121114
@@ -124,7 +117,6 @@ def test_generate_with_empty_context(self):
124117 generator = UUIDGenerator ()
125118 context = IDGeneratorContext ()
126119 result = generator .generate (context )
127-
128120 assert isinstance (result , str )
129121 uuid .UUID (result )
130122
@@ -133,7 +125,6 @@ def test_generate_with_populated_context(self):
133125 generator = UUIDGenerator ()
134126 context = IDGeneratorContext (task_id = "task_123" , context_id = "context_456" )
135127 result = generator .generate (context )
136-
137128 assert isinstance (result , str )
138129 uuid .UUID (result )
139130
@@ -142,11 +133,9 @@ def test_generate_calls_uuid4(self, mock_uuid4):
142133 """Test that generate uses uuid.uuid4() internally."""
143134 mock_uuid = uuid .UUID ('12345678-1234-5678-1234-567812345678' )
144135 mock_uuid4 .return_value = mock_uuid
145-
146136 generator = UUIDGenerator ()
147137 context = IDGeneratorContext ()
148138 result = generator .generate (context )
149-
150139 mock_uuid4 .assert_called_once ()
151140 assert result == str (mock_uuid )
152141
@@ -160,8 +149,6 @@ def test_multiple_generators_produce_different_ids(self):
160149 generator1 = UUIDGenerator ()
161150 generator2 = UUIDGenerator ()
162151 context = IDGeneratorContext ()
163-
164152 result1 = generator1 .generate (context )
165153 result2 = generator2 .generate (context )
166-
167- assert result1 != result2
154+ assert result1 != result2
0 commit comments