Spaces:
Build error
Build error
File size: 2,078 Bytes
48ba7e8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
#!/usr/bin/env python3
"""Test script for dependency injection implementation."""
import sys
import os
# Add src to path
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src'))
try:
from infrastructure.config.dependency_container import DependencyContainer, get_container
from infrastructure.config.app_config import AppConfig
from infrastructure.tts.provider_factory import TTSProviderFactory
from infrastructure.stt.provider_factory import STTProviderFactory
from infrastructure.translation.provider_factory import TranslationProviderFactory
print("π§ͺ Testing Dependency Injection Implementation...")
print()
# Test basic container functionality
container = DependencyContainer()
print('β
DependencyContainer created successfully')
# Test configuration resolution
config = container.resolve(AppConfig)
print(f'β
AppConfig resolved: {type(config).__name__}')
# Test factory resolution
tts_factory = container.resolve(TTSProviderFactory)
stt_factory = container.resolve(STTProviderFactory)
translation_factory = container.resolve(TranslationProviderFactory)
print(f'β
TTSProviderFactory resolved: {type(tts_factory).__name__}')
print(f'β
STTProviderFactory resolved: {type(stt_factory).__name__}')
print(f'β
TranslationProviderFactory resolved: {type(translation_factory).__name__}')
# Test global container
global_container = get_container()
print(f'β
Global container retrieved: {type(global_container).__name__}')
# Test service registration info
services = container.get_registered_services()
print(f'β
Registered services: {len(services)} services')
for service_name, lifetime in services.items():
print(f' - {service_name}: {lifetime}')
# Test cleanup
container.cleanup()
print('β
Container cleanup completed')
print()
print('π All dependency injection tests passed!')
except Exception as e:
print(f'β Test failed: {e}')
import traceback
traceback.print_exc()
sys.exit(1) |