|
23 | 23 | import types |
24 | 24 | from unittest.mock import MagicMock |
25 | 25 |
|
26 | | -# Add parent directory to path for imports |
27 | 26 | sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..')) |
28 | 27 |
|
29 | | -# Mock external dependencies before imports |
30 | 28 | sys.modules['database'] = MagicMock() |
31 | 29 |
|
32 | | -# Mock wmill module (only available inside Windmill) |
33 | 30 | sys.modules['wmill'] = MagicMock() |
34 | 31 |
|
35 | | -# Mock optuna.storages module (only needed in production, not tests) |
36 | 32 | sys.modules['optuna'] = MagicMock() |
37 | 33 | sys.modules['optuna.storages'] = MagicMock() |
38 | 34 |
|
39 | | -# Create stub modules using types.ModuleType |
40 | 35 | def create_stub_module(name): |
41 | 36 | module = types.ModuleType(name) |
42 | 37 | module.__path__ = [] |
43 | 38 | module.__spec__ = None |
44 | 39 | module.__name__ = name |
45 | 40 | return module |
46 | 41 |
|
47 | | -# Create f and f.controller |
48 | 42 | fake_f = create_stub_module('f') |
49 | 43 | fake_controller = create_stub_module('f.controller') |
| 44 | +fake_shared = create_stub_module('f.shared') |
50 | 45 | sys.modules['f'] = fake_f |
51 | 46 | sys.modules['f.controller'] = fake_controller |
| 47 | +sys.modules['f.shared'] = fake_shared |
| 48 | + |
| 49 | +fake_otel = create_stub_module('f.shared.otel_logging') |
| 50 | +fake_otel.get_logger = lambda name: MagicMock() |
| 51 | +sys.modules['f.shared.otel_logging'] = fake_otel |
52 | 52 |
|
53 | 53 | # Pre-populate all f.controller.xxx modules BEFORE any imports |
54 | 54 | for module_name in ['config', 'database', 'breeder_service', 'credential_create', |
|
0 commit comments