Skip to content

Commit a3bc1bd

Browse files
committed
improve fulltext import test
1 parent 2b593b9 commit a3bc1bd

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# docker-compose -f local.yml run --rm django pytest sde_collections/tests/test_import_fulltexts.py
2+
3+
from unittest.mock import patch
4+
5+
import pytest
6+
7+
from sde_collections.models.delta_url import CuratedUrl, DeltaUrl, DumpUrl
8+
from sde_collections.tasks import fetch_and_replace_full_text
9+
from sde_collections.tests.factories import CollectionFactory
10+
11+
12+
@pytest.mark.django_db
13+
def test_fetch_and_replace_full_text():
14+
# Create a test collection
15+
collection = CollectionFactory()
16+
17+
# Mock API response
18+
mock_documents = [
19+
{"url": "http://example.com/1", "full_text": "Test Text 1", "title": "Test Title 1"},
20+
{"url": "http://example.com/2", "full_text": "Test Text 2", "title": "Test Title 2"},
21+
]
22+
23+
with patch("sde_collections.sinequa_api.Api.get_full_texts") as mock_get_full_texts:
24+
mock_get_full_texts.return_value = mock_documents
25+
26+
# Call the function
27+
fetch_and_replace_full_text(collection.id, "lrm_dev")
28+
29+
# Assertions
30+
assert DumpUrl.objects.filter(collection=collection).count() == 0
31+
assert DeltaUrl.objects.filter(collection=collection).count() == len(mock_documents)
32+
assert CuratedUrl.objects.filter(collection=collection).count() == 0
33+
34+
for doc in mock_documents:
35+
assert (
36+
DeltaUrl.objects.filter(collection=collection)
37+
.filter(
38+
url=doc["url"],
39+
scraped_text=doc["full_text"],
40+
)
41+
.exists()
42+
)

0 commit comments

Comments
 (0)