MCPcopy Create free account
hub / github.com/CJackHwang/AIstudioProxyAPI / mock_server_module

Function mock_server_module

tests/conftest.py:50–104  ·  view source on GitHub ↗

Mock the server module to prevent import errors and provide global state.

()

Source from the content-addressed store, hash-verified

48
49@pytest.fixture(autouse=True)
50def mock_server_module():
51 """Mock the server module to prevent import errors and provide global state."""
52 module_name = "server"
53
54 # Create a mock module
55 mock_module = types.ModuleType(module_name)
56
57 # Set up required attributes (using setattr for dynamic module attributes)
58 setattr(mock_module, "logger", MagicMock())
59 setattr(mock_module, "request_queue", asyncio.Queue())
60 setattr(mock_module, "processing_lock", asyncio.Lock())
61 setattr(mock_module, "model_switching_lock", asyncio.Lock())
62 setattr(mock_module, "params_cache_lock", asyncio.Lock())
63
64 # page_instance needs is_closed() as sync method
65 page_mock = AsyncMock()
66 page_mock.is_closed = MagicMock(return_value=False)
67 setattr(mock_module, "page_instance", page_mock)
68
69 # browser_instance needs is_connected() as sync method
70 browser_mock = AsyncMock()
71 browser_mock.is_connected = MagicMock(return_value=True)
72 setattr(mock_module, "browser_instance", browser_mock)
73 setattr(mock_module, "parsed_model_list", [])
74 setattr(mock_module, "log_ws_manager", MagicMock())
75 setattr(mock_module, "STREAM_QUEUE", MagicMock())
76 setattr(mock_module, "STREAM_PROCESS", AsyncMock())
77 setattr(mock_module, "PLAYWRIGHT_PROXY_SETTINGS", {})
78 setattr(mock_module, "is_initializing", False)
79 setattr(mock_module, "is_page_ready", True)
80 setattr(mock_module, "is_browser_connected", True)
81 setattr(mock_module, "model_list_fetch_event", asyncio.Event())
82 setattr(mock_module, "worker_task", MagicMock())
83 setattr(mock_module, "queue_worker", AsyncMock())
84 setattr(mock_module, "playwright_manager", AsyncMock())
85 setattr(mock_module, "global_model_list_raw_json", None)
86 setattr(mock_module, "current_ai_studio_model_id", None)
87 setattr(mock_module, "is_playwright_ready", True)
88 setattr(mock_module, "excluded_model_ids", [])
89 setattr(mock_module, "console_logs", [])
90 setattr(mock_module, "network_log", {"requests": [], "responses": []})
91
92 # Save original if it exists
93 original_module = sys.modules.get(module_name)
94
95 # Inject mock
96 sys.modules[module_name] = mock_module
97
98 yield mock_module
99
100 # Restore original or clean up
101 if original_module:
102 sys.modules[module_name] = original_module
103 else:
104 sys.modules.pop(module_name, None)
105
106
107@pytest.fixture

Callers

nothing calls this directly

Calls 1

getMethod · 0.45

Tested by

no test coverage detected