Skip to content

Commit bf7cd5a

Browse files
committed
test: implementing fixtures to simplify test code
1 parent 4e29c74 commit bf7cd5a

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

tests/server/tasks/test_id_generator.py

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,22 +82,30 @@ def generate(self, context: IDGeneratorContext) -> str:
8282
assert generator.generate(IDGeneratorContext()) == 'test_id'
8383

8484

85+
@pytest.fixture
86+
def generator():
87+
"""Returns a UUIDGenerator instance."""
88+
return UUIDGenerator()
89+
90+
91+
@pytest.fixture
92+
def context():
93+
"""Returns a IDGeneratorContext instance."""
94+
return IDGeneratorContext()
95+
96+
8597
class TestUUIDGenerator:
8698
"""Tests for UUIDGenerator implementation."""
8799

88-
def test_generate_returns_string(self):
100+
def test_generate_returns_string(self, generator, context):
89101
"""Test that generate returns a valid v4 UUID string."""
90-
generator = UUIDGenerator()
91-
context = IDGeneratorContext()
92102
result = generator.generate(context)
93103
assert isinstance(result, str)
94104
parsed_uuid = uuid.UUID(result)
95105
assert parsed_uuid.version == 4
96106

97-
def test_generate_produces_unique_ids(self):
107+
def test_generate_produces_unique_ids(self, generator, context):
98108
"""Test that multiple calls produce unique IDs."""
99-
generator = UUIDGenerator()
100-
context = IDGeneratorContext()
101109
ids = [generator.generate(context) for _ in range(100)]
102110
# All IDs should be unique
103111
assert len(ids) == len(set(ids))
@@ -118,4 +126,5 @@ def test_generate_works_with_various_contexts(self, context_arg):
118126
generator = UUIDGenerator()
119127
result = generator.generate(context_arg)
120128
assert isinstance(result, str)
121-
uuid.UUID(result)
129+
parsed_uuid = uuid.UUID(result)
130+
assert parsed_uuid.version == 4

0 commit comments

Comments
 (0)