@@ -39,7 +39,7 @@ def setup_method(self):
3939 """Setup for each test method"""
4040 # Clear any existing cache
4141 try :
42- from uckn .core .enhanced_semantic_search_engine import (
42+ from uckn .core .semantic_search_enhanced import (
4343 EnhancedSemanticSearchEngine ,
4444 )
4545
@@ -48,40 +48,38 @@ def setup_method(self):
4848 except ImportError :
4949 pass
5050
51- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
52- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
53- def test_engine_initialization_success (self , mock_st , mock_chromadb ):
51+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
52+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
53+ def test_engine_initialization_success (self , mock_st , mock_chromadb_connector ):
5454 """Test successful engine initialization"""
5555 # Mock successful model loading
5656 mock_model = MagicMock ()
5757 mock_st .return_value = mock_model
5858
59- # Mock ChromaDB
60- mock_client = MagicMock ()
61- mock_collection = MagicMock ()
62- mock_chromadb .PersistentClient .return_value = mock_client
63- mock_client .get_or_create_collection .return_value = mock_collection
59+ # Mock ChromaDBConnector
60+ mock_connector = MagicMock ()
61+ mock_connector .is_available .return_value = True
62+ mock_chromadb_connector .return_value = mock_connector
6463
65- from uckn .core .enhanced_semantic_search_engine import (
64+ from uckn .core .semantic_search_enhanced import (
6665 EnhancedSemanticSearchEngine ,
6766 )
6867
6968 engine = EnhancedSemanticSearchEngine (knowledge_dir = TEST_KNOWLEDGE_DIR )
7069
7170 assert engine .is_available ()
7271 assert engine .sentence_model is not None
73- assert engine .chroma_client is not None
74- assert engine .collection is not None
75- mock_st .assert_called_once_with ("all-MiniLM-L6-v2" )
72+ assert engine .chroma_connector is not None
73+ mock_st .assert_called_once_with ("all-MiniLM-L6-v2" , device = 'cpu' )
7674
7775 @patch (
78- "uckn.core.enhanced_semantic_search_engine.SENTENCE_TRANSFORMERS_AVAILABLE " ,
76+ "uckn.core.semantic_search_enhanced.SENTENCE_TRANSFORMER_AVAILABLE " ,
7977 False ,
8078 )
81- @patch ("uckn.core.enhanced_semantic_search_engine.CHROMADB_AVAILABLE " , False )
79+ @patch ("uckn.core.semantic_search_enhanced.CHROMADB_CONNECTOR_AVAILABLE " , False )
8280 def test_engine_initialization_dependencies_unavailable (self ):
8381 """Test engine initialization when dependencies are unavailable"""
84- from uckn .core .enhanced_semantic_search_engine import (
82+ from uckn .core .semantic_search_enhanced import (
8583 EnhancedSemanticSearchEngine ,
8684 )
8785
@@ -92,8 +90,8 @@ def test_engine_initialization_dependencies_unavailable(self):
9290 assert engine .chroma_client is None
9391 assert engine .collection is None
9492
95- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
96- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
93+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
94+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
9795 def test_encode_functionality (self , mock_st , mock_chromadb ):
9896 """Test text encoding functionality"""
9997 # Setup mocks
@@ -102,7 +100,7 @@ def test_encode_functionality(self, mock_st, mock_chromadb):
102100 mock_model .encode .return_value = mock_embedding
103101 mock_st .return_value = mock_model
104102
105- from uckn .core .enhanced_semantic_search_engine import (
103+ from uckn .core .semantic_search_enhanced import (
106104 EnhancedSemanticSearchEngine ,
107105 )
108106
@@ -117,8 +115,8 @@ def test_encode_functionality(self, mock_st, mock_chromadb):
117115 assert len (result ) == 384
118116 mock_model .encode .assert_called_once_with (text , convert_to_numpy = True )
119117
120- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
121- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
118+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
119+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
122120 def test_encode_caching (self , mock_st , mock_chromadb ):
123121 """Test LRU caching functionality"""
124122 # Setup mocks
@@ -127,7 +125,7 @@ def test_encode_caching(self, mock_st, mock_chromadb):
127125 mock_model .encode .return_value = mock_embedding
128126 mock_st .return_value = mock_model
129127
130- from uckn .core .enhanced_semantic_search_engine import (
128+ from uckn .core .semantic_search_enhanced import (
131129 EnhancedSemanticSearchEngine ,
132130 )
133131
@@ -144,13 +142,13 @@ def test_encode_caching(self, mock_st, mock_chromadb):
144142 assert mock_model .encode .call_count == 1 # No additional calls
145143 assert result1 == result2
146144
147- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
148- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
145+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
146+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
149147 def test_encode_invalid_inputs (self , mock_st , mock_chromadb ):
150148 """Test encoding with invalid inputs"""
151149 mock_st .return_value = MagicMock ()
152150
153- from uckn .core .enhanced_semantic_search_engine import (
151+ from uckn .core .semantic_search_enhanced import (
154152 EnhancedSemanticSearchEngine ,
155153 )
156154
@@ -162,15 +160,15 @@ def test_encode_invalid_inputs(self, mock_st, mock_chromadb):
162160 assert engine .encode ([]) is None
163161 assert engine .encode ("" ) is None
164162
165- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
166- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
163+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
164+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
167165 def test_multimodal_content_encoding (self , mock_st , mock_chromadb ):
168166 """Test encoding different content types"""
169167 mock_model = MagicMock ()
170168 mock_model .encode .return_value = np .array ([0.1 ] * 384 )
171169 mock_st .return_value = mock_model
172170
173- from uckn .core .enhanced_semantic_search_engine import (
171+ from uckn .core .semantic_search_enhanced import (
174172 EnhancedSemanticSearchEngine ,
175173 )
176174
@@ -190,15 +188,15 @@ def test_multimodal_content_encoding(self, mock_st, mock_chromadb):
190188 assert isinstance (result , list )
191189 assert len (result ) == 384
192190
193- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
194- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
191+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
192+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
195193 def test_session_embedding_generation (self , mock_st , mock_chromadb ):
196194 """Test session data embedding generation"""
197195 mock_model = MagicMock ()
198196 mock_model .encode .return_value = np .array ([0.1 ] * 384 )
199197 mock_st .return_value = mock_model
200198
201- from uckn .core .enhanced_semantic_search_engine import (
199+ from uckn .core .semantic_search_enhanced import (
202200 EnhancedSemanticSearchEngine ,
203201 )
204202
@@ -235,13 +233,13 @@ def test_session_embedding_generation(self, mock_st, mock_chromadb):
235233 assert "pytest" in called_text
236234 assert "Module import failure" in called_text
237235
238- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
239- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
236+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
237+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
240238 def test_text_extraction_comprehensive (self , mock_st , mock_chromadb ):
241239 """Test comprehensive text extraction from session data"""
242240 mock_st .return_value = MagicMock ()
243241
244- from uckn .core .enhanced_semantic_search_engine import (
242+ from uckn .core .semantic_search_enhanced import (
245243 EnhancedSemanticSearchEngine ,
246244 )
247245
@@ -280,8 +278,8 @@ def test_text_extraction_comprehensive(self, mock_st, mock_chromadb):
280278 assert "Common data cleaning issue" in extracted_text
281279 assert "pd.to_numeric" in extracted_text
282280
283- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
284- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
281+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
282+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
285283 def test_get_embedding_stats (self , mock_st , mock_chromadb ):
286284 """Test embedding statistics functionality"""
287285 # Setup mocks
@@ -292,7 +290,7 @@ def test_get_embedding_stats(self, mock_st, mock_chromadb):
292290 mock_chromadb .PersistentClient .return_value = mock_client
293291 mock_st .return_value = MagicMock ()
294292
295- from uckn .core .enhanced_semantic_search_engine import (
293+ from uckn .core .semantic_search_enhanced import (
296294 EnhancedSemanticSearchEngine ,
297295 )
298296
@@ -325,11 +323,11 @@ def test_get_embedding_stats_numpy_fallback(self):
325323
326324 with (
327325 patch (
328- "uckn.core.enhanced_semantic_search_engine.SENTENCE_TRANSFORMERS_AVAILABLE " ,
326+ "uckn.core.semantic_search_enhanced.SENTENCE_TRANSFORMER_AVAILABLE " ,
329327 False ,
330328 ),
331329 patch (
332- "uckn.core.enhanced_semantic_search_engine.CHROMADB_AVAILABLE " , False
330+ "uckn.core.semantic_search_enhanced.CHROMADB_CONNECTOR_AVAILABLE " , False
333331 ),
334332 ):
335333 from uckn .core .enhanced_semantic_search_engine import (
@@ -361,8 +359,8 @@ def teardown_class(cls):
361359 if os .path .exists (TEST_KNOWLEDGE_DIR ):
362360 shutil .rmtree (TEST_KNOWLEDGE_DIR )
363361
364- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
365- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
362+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
363+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
366364 def test_semantic_search_atom_initialization (self , mock_st , mock_chromadb ):
367365 """Test SemanticSearch atom initialization with enhanced engine"""
368366 mock_st .return_value = MagicMock ()
@@ -385,8 +383,8 @@ def test_semantic_search_atom_engine_unavailable(self):
385383 assert atom .engine is None
386384 assert atom .encode ("test" ) is None
387385
388- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
389- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
386+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
387+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
390388 def test_semantic_search_atom_encode_delegation (self , mock_st , mock_chromadb ):
391389 """Test that SemanticSearch atom properly delegates to enhanced engine"""
392390 mock_model = MagicMock ()
@@ -412,15 +410,15 @@ def test_semantic_search_atom_encode_delegation(self, mock_st, mock_chromadb):
412410class TestPerformanceOptimizations :
413411 """Test suite for performance optimization features"""
414412
415- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
416- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
413+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
414+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
417415 def test_caching_performance (self , mock_st , mock_chromadb ):
418416 """Test that caching improves performance"""
419417 mock_model = MagicMock ()
420418 mock_model .encode .return_value = np .array ([0.1 ] * 384 )
421419 mock_st .return_value = mock_model
422420
423- from uckn .core .enhanced_semantic_search_engine import (
421+ from uckn .core .semantic_search_enhanced import (
424422 EnhancedSemanticSearchEngine ,
425423 )
426424
@@ -441,8 +439,8 @@ def test_caching_performance(self, mock_st, mock_chromadb):
441439 # Model should only be called once due to caching
442440 assert mock_model .encode .call_count == call_count_after_first
443441
444- @patch ("uckn.core.enhanced_semantic_search_engine.chromadb " )
445- @patch ("uckn.core.enhanced_semantic_search_engine .SentenceTransformer" )
442+ @patch ("uckn.core.semantic_search_enhanced.ChromaDBConnector " )
443+ @patch ("uckn.core.semantic_search_enhanced .SentenceTransformer" )
446444 def test_different_inputs_not_cached_together (self , mock_st , mock_chromadb ):
447445 """Test that different inputs get different cache entries"""
448446 mock_model = MagicMock ()
@@ -454,7 +452,7 @@ def side_effect(text, convert_to_numpy=True):
454452 mock_model .encode .side_effect = side_effect
455453 mock_st .return_value = mock_model
456454
457- from uckn .core .enhanced_semantic_search_engine import (
455+ from uckn .core .semantic_search_enhanced import (
458456 EnhancedSemanticSearchEngine ,
459457 )
460458
0 commit comments