khoj/tests/test_asymmetric_search.py
Debanjum Singh Solanky ed144f7984 Setup Search with Search_Config to Fix Tests
- Rename pytest fixture search_config to more appropriate
content_config
- Create search_config pytest fixture
- Use search_config where search being setup, used in tests
2022-01-14 20:13:14 -05:00

38 lines
1.3 KiB
Python

# Internal Packages
from src.main import model
from src.search_type import asymmetric
from src.utils.rawconfig import ContentTypeConfig, SearchTypeConfig
# Test
# ----------------------------------------------------------------------------------------------------
def test_asymmetric_setup(content_config: ContentTypeConfig, search_config: SearchTypeConfig):
# Act
# Regenerate notes embeddings during asymmetric setup
notes_model = asymmetric.setup(content_config.org, search_config.asymmetric, regenerate=True)
# Assert
assert len(notes_model.entries) == 10
assert len(notes_model.corpus_embeddings) == 10
# ----------------------------------------------------------------------------------------------------
def test_asymmetric_search(content_config: ContentTypeConfig, search_config: SearchTypeConfig):
# Arrange
model.notes_search = asymmetric.setup(content_config.org, search_config.asymmetric, regenerate=False)
query = "How to git install application?"
# Act
hits = asymmetric.query(
query,
model = model.notes_search)
results = asymmetric.collate_results(
hits,
model.notes_search.entries,
count=1)
# Assert
# Actual_data should contain "Semantic Search via Emacs" entry
search_result = results[0]["Entry"]
assert "git clone" in search_result