MCPcopy Create free account
hub / github.com/AsyncFuncAI/deepwiki-open / TestEmbedderFactory

Class TestEmbedderFactory

tests/unit/test_all_embedders.py:146–197  ·  view source on GitHub ↗

Test the embedder factory function.

Source from the content-addressed store, hash-verified

144
145
146class TestEmbedderFactory:
147 """Test the embedder factory function."""
148
149 def test_get_embedder_with_explicit_type(self):
150 """Test get_embedder with explicit embedder_type parameter."""
151 from api.tools.embedder import get_embedder
152
153 # Test Google embedder
154 google_embedder = get_embedder(embedder_type='google')
155 assert google_embedder is not None, "Google embedder should be created"
156
157 # Test Bedrock embedder (mock boto3 to avoid hitting AWS credential providers)
158 with patch("api.bedrock_client.boto3.Session") as mock_session_cls:
159 mock_session = MagicMock()
160 mock_session.client.return_value = MagicMock()
161 mock_session_cls.return_value = mock_session
162 bedrock_embedder = get_embedder(embedder_type='bedrock')
163 assert bedrock_embedder is not None, "Bedrock embedder should be created"
164
165 # Test OpenAI embedder
166 openai_embedder = get_embedder(embedder_type='openai')
167 assert openai_embedder is not None, "OpenAI embedder should be created"
168
169 # Test Ollama embedder (may fail if Ollama not available, but should not crash)
170 try:
171 ollama_embedder = get_embedder(embedder_type='ollama')
172 assert ollama_embedder is not None, "Ollama embedder should be created"
173 except Exception as e:
174 logger.warning(f"Ollama embedder creation failed (expected if Ollama not available): {e}")
175
176 def test_get_embedder_with_legacy_params(self):
177 """Test get_embedder with legacy boolean parameters."""
178 from api.tools.embedder import get_embedder
179
180 # Test with use_google_embedder=True
181 google_embedder = get_embedder(use_google_embedder=True)
182 assert google_embedder is not None, "Google embedder should be created with use_google_embedder=True"
183
184 # Test with is_local_ollama=True
185 try:
186 ollama_embedder = get_embedder(is_local_ollama=True)
187 assert ollama_embedder is not None, "Ollama embedder should be created with is_local_ollama=True"
188 except Exception as e:
189 logger.warning(f"Ollama embedder creation failed (expected if Ollama not available): {e}")
190
191 def test_get_embedder_auto_detection(self):
192 """Test get_embedder with automatic type detection."""
193 from api.tools.embedder import get_embedder
194
195 # Test auto-detection (should use current configuration)
196 embedder = get_embedder()
197 assert embedder is not None, "Auto-detected embedder should be created"
198
199
200class TestEmbedderClients:

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected