feat: Implement code review improvements from gemini-2.5-pro analysis
✨ Key improvements: • Added public reset_for_testing() method to registry for clean test state management • Updated test setup/teardown to use new public API instead of private attributes • Enhanced inject_transport helper to ensure OpenAI provider registration • Migrated additional test files to use inject_transport pattern • Reduced code duplication by ~30 lines across test files 🔧 Technical details: • transport_helpers.py: Always register OpenAI provider for transport tests • test_o3_pro_output_text_fix.py: Use reset_for_testing() API, remove redundant registration • test_o3_pro_fixture_bisect.py: Migrate all 4 test methods to inject_transport • test_o3_pro_simplified.py: Migrate both test methods to inject_transport • providers/registry.py: Add reset_for_testing() public method ✅ Quality assurance: • All 7 o3-pro tests pass with new helper pattern • No regression in test isolation or provider state management • Improved maintainability through centralized transport injection • Follows single responsibility principle with focused helper function 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -8,7 +8,7 @@ def inject_transport(monkeypatch, cassette_path: str):
|
||||
|
||||
This helper simplifies the monkey patching pattern used across tests
|
||||
to inject custom HTTP transports for recording/replaying API calls.
|
||||
|
||||
|
||||
Also ensures OpenAI provider is properly registered for tests that need it.
|
||||
|
||||
Args:
|
||||
@@ -21,14 +21,15 @@ def inject_transport(monkeypatch, cassette_path: str):
|
||||
Example:
|
||||
transport = inject_transport(monkeypatch, "path/to/cassette.json")
|
||||
"""
|
||||
# Ensure OpenAI provider is registered if API key is available
|
||||
# Ensure OpenAI provider is registered - always needed for transport injection
|
||||
import os
|
||||
if os.getenv("OPENAI_API_KEY"):
|
||||
from providers.registry import ModelProviderRegistry
|
||||
from providers.base import ProviderType
|
||||
from providers.openai_provider import OpenAIModelProvider
|
||||
ModelProviderRegistry.register_provider(ProviderType.OPENAI, OpenAIModelProvider)
|
||||
from providers.base import ProviderType
|
||||
from providers.openai_provider import OpenAIModelProvider
|
||||
from providers.registry import ModelProviderRegistry
|
||||
|
||||
# Always register OpenAI provider for transport tests (API key might be dummy)
|
||||
ModelProviderRegistry.register_provider(ProviderType.OPENAI, OpenAIModelProvider)
|
||||
|
||||
# Create transport
|
||||
transport = TransportFactory.create_transport(str(cassette_path))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user