Accept current changes to include issues in rendering flow

This commit is contained in:
sabaimran
2023-06-29 12:25:29 -07:00
19 changed files with 304 additions and 193 deletions

View File

@@ -34,7 +34,7 @@ def test_search_with_invalid_content_type(client):
# ----------------------------------------------------------------------------------------------------
def test_search_with_valid_content_type(client):
for content_type in ["org", "markdown", "ledger", "image", "music", "pdf", "plugin1"]:
for content_type in ["all", "org", "markdown", "ledger", "image", "music", "pdf", "plugin1"]:
# Act
response = client.get(f"/api/search?q=random&t={content_type}")
# Assert
@@ -84,7 +84,7 @@ def test_get_configured_types_via_api(client):
# Assert
assert response.status_code == 200
assert response.json() == ["org", "image", "plugin1"]
assert response.json() == ["all", "org", "image", "plugin1"]
# ----------------------------------------------------------------------------------------------------
@@ -102,7 +102,7 @@ def test_get_configured_types_with_only_plugin_content_config(content_config):
# Assert
assert response.status_code == 200
assert response.json() == ["plugin1"]
assert response.json() == ["all", "plugin1"]
# ----------------------------------------------------------------------------------------------------
@@ -137,7 +137,7 @@ def test_get_configured_types_with_no_content_config():
# Assert
assert response.status_code == 200
assert response.json() == []
assert response.json() == ["all"]
# ----------------------------------------------------------------------------------------------------

View File

@@ -3,6 +3,9 @@ import logging
from pathlib import Path
from PIL import Image
# External Packages
import pytest
# Internal Packages
from khoj.utils.state import model
from khoj.utils.constants import web_directory
@@ -48,7 +51,8 @@ def test_image_metadata(content_config: ContentConfig):
# ----------------------------------------------------------------------------------------------------
def test_image_search(content_config: ContentConfig, search_config: SearchConfig):
@pytest.mark.anyio
async def test_image_search(content_config: ContentConfig, search_config: SearchConfig):
# Arrange
output_directory = resolve_absolute_path(web_directory)
model.image_search = image_search.setup(content_config.image, search_config.image, regenerate=False)
@@ -60,7 +64,7 @@ def test_image_search(content_config: ContentConfig, search_config: SearchConfig
# Act
for query, expected_image_name in query_expected_image_pairs:
hits = image_search.query(query, count=1, model=model.image_search)
hits = await image_search.query(query, count=1, model=model.image_search)
results = image_search.collate_results(
hits,
@@ -83,7 +87,8 @@ def test_image_search(content_config: ContentConfig, search_config: SearchConfig
# ----------------------------------------------------------------------------------------------------
def test_image_search_query_truncated(content_config: ContentConfig, search_config: SearchConfig, caplog):
@pytest.mark.anyio
async def test_image_search_query_truncated(content_config: ContentConfig, search_config: SearchConfig, caplog):
# Arrange
model.image_search = image_search.setup(content_config.image, search_config.image, regenerate=False)
max_words_supported = 10
@@ -93,7 +98,7 @@ def test_image_search_query_truncated(content_config: ContentConfig, search_conf
# Act
try:
with caplog.at_level(logging.INFO, logger="khoj.search_type.image_search"):
image_search.query(query, count=1, model=model.image_search)
await image_search.query(query, count=1, model=model.image_search)
# Assert
except RuntimeError as e:
if "The size of tensor a (102) must match the size of tensor b (77)" in str(e):
@@ -102,7 +107,8 @@ def test_image_search_query_truncated(content_config: ContentConfig, search_conf
# ----------------------------------------------------------------------------------------------------
def test_image_search_by_filepath(content_config: ContentConfig, search_config: SearchConfig, caplog):
@pytest.mark.anyio
async def test_image_search_by_filepath(content_config: ContentConfig, search_config: SearchConfig, caplog):
# Arrange
output_directory = resolve_absolute_path(web_directory)
model.image_search = image_search.setup(content_config.image, search_config.image, regenerate=False)
@@ -113,7 +119,7 @@ def test_image_search_by_filepath(content_config: ContentConfig, search_config:
# Act
with caplog.at_level(logging.INFO, logger="khoj.search_type.image_search"):
hits = image_search.query(query, count=1, model=model.image_search)
hits = await image_search.query(query, count=1, model=model.image_search)
results = image_search.collate_results(
hits,

View File

@@ -72,13 +72,14 @@ def test_text_content_index_only_updates_on_changes(content_config: ContentConfi
# ----------------------------------------------------------------------------------------------------
def test_asymmetric_search(content_config: ContentConfig, search_config: SearchConfig):
@pytest.mark.anyio
async def test_asymmetric_search(content_config: ContentConfig, search_config: SearchConfig):
# Arrange
model.notes_search = text_search.setup(OrgToJsonl, content_config.org, search_config.asymmetric, regenerate=True)
query = "How to git install application?"
# Act
hits, entries = text_search.query(query, model=model.notes_search, rank_results=True)
hits, entries = await text_search.query(query, model=model.notes_search, rank_results=True)
results = text_search.collate_results(hits, entries, count=1)