@@ -78,20 +78,20 @@ class TestSessionLifecycle:
7878 @pytest .mark .asyncio
7979 async def test_session_lifecycle_without_openai (self ):
8080 """Test session lifecycle when OpenAI SDK not available."""
81+ import sys
8182 manager = OpenAIRealtimeManager ()
8283
83- # Mock ImportError for openai package
84- with patch ('praisonaiui.features.realtime.openai' , None ):
85- # Mock import to raise ImportError
86- with patch ('builtins.__import__' , side_effect = ImportError ("No module named 'openai'" )):
87- session_info = await manager .create_session ()
88-
89- assert session_info ["type" ] == "error"
90- assert "openai package not installed" in session_info ["error" ]
84+ # Force `import openai` inside the function body to fail
85+ with patch .dict (sys .modules , {"openai" : None }):
86+ session_info = await manager .create_session ()
87+
88+ assert session_info ["type" ] == "error"
89+ assert "openai package not installed" in session_info ["error" ]
9190
9291 @pytest .mark .asyncio
9392 async def test_session_lifecycle_with_mocked_openai (self ):
9493 """Test full session lifecycle with mocked OpenAI."""
94+ import sys
9595 manager = OpenAIRealtimeManager ()
9696
9797 # Mock OpenAI client and response
@@ -103,7 +103,7 @@ async def test_session_lifecycle_with_mocked_openai(self):
103103 mock_client .realtime .sessions .create = AsyncMock (return_value = mock_response )
104104 mock_openai .OpenAI .return_value = mock_client
105105
106- with patch ( 'praisonaiui.features.realtime.openai' , mock_openai ):
106+ with patch . dict ( sys . modules , { "openai" : mock_openai } ):
107107 # Create session
108108 session_info = await manager .create_session (model = "gpt-4o-realtime-preview" )
109109
@@ -170,14 +170,15 @@ def test_health_without_openai(self):
170170
171171 def test_health_with_openai (self ):
172172 """Test health when OpenAI is available."""
173+ import sys
173174 manager = OpenAIRealtimeManager ()
174175
175176 # Add some sessions to test counter
176177 manager ._sessions ["session_1" ] = {"id" : "session_1" }
177178 manager ._sessions ["session_2" ] = {"id" : "session_2" }
178179
179180 mock_openai = mock .MagicMock ()
180- with patch ( 'praisonaiui.features.realtime.openai' , mock_openai ):
181+ with patch . dict ( sys . modules , { "openai" : mock_openai } ):
181182 health = manager .health ()
182183
183184 assert health ["status" ] == "ok"
0 commit comments