Skip to content

Commit 400591f

Browse files
fix extract test:
1 parent 3dfe720 commit 400591f

File tree

1 file changed

+33
-5
lines changed

1 file changed

+33
-5
lines changed

backend/app/tests/core/test_extractors.py

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,55 @@
22
from app.core.extractors import extract_text_and_save_to_db
33
from app.models import Document
44

5+
# def test_extract_text_and_save_to_db_success() -> None:
6+
# fake_text = "Extracted text content"
7+
# fake_s3_url = "s3://bucket/path/to/file.pdf"
8+
# fake_doc_id = "123e4567-e89b-12d3-a456-426614174000"
9+
10+
# # Mock document object
11+
# mock_document = Document(id=fake_doc_id)
12+
13+
# with patch("app.core.extractors.extract_text_from_file", return_value=fake_text) as extract_mock, \
14+
# patch("app.core.extractors.Session") as session_class_mock:
15+
16+
# # Mock session and query chain
17+
# session_instance = MagicMock()
18+
# session_class_mock.return_value.__enter__.return_value = session_instance
19+
# session_instance.query.return_value.filter.return_value.first.return_value = mock_document
20+
21+
# # Run the function
22+
# extract_text_and_save_to_db(fake_s3_url, fake_doc_id)
23+
24+
# # Assertions
25+
# extract_mock.assert_called_once_with(fake_s3_url)
26+
# session_instance.query.assert_called_once()
27+
# assert mock_document.extracted_text == fake_text
28+
# session_instance.commit.assert_called_once()
29+
530
def test_extract_text_and_save_to_db_success() -> None:
631
fake_text = "Extracted text content"
732
fake_s3_url = "s3://bucket/path/to/file.pdf"
833
fake_doc_id = "123e4567-e89b-12d3-a456-426614174000"
934

10-
# Mock document object
1135
mock_document = Document(id=fake_doc_id)
12-
36+
1337
with patch("app.core.extractors.extract_text_from_file", return_value=fake_text) as extract_mock, \
1438
patch("app.core.extractors.Session") as session_class_mock:
1539

16-
# Mock session and query chain
40+
# Mock session context manager
1741
session_instance = MagicMock()
1842
session_class_mock.return_value.__enter__.return_value = session_instance
19-
session_instance.query.return_value.filter.return_value.first.return_value = mock_document
43+
44+
# Mock session.exec(...).first()
45+
mock_exec_result = MagicMock()
46+
mock_exec_result.first.return_value = mock_document
47+
session_instance.exec.return_value = mock_exec_result
2048

2149
# Run the function
2250
extract_text_and_save_to_db(fake_s3_url, fake_doc_id)
2351

2452
# Assertions
2553
extract_mock.assert_called_once_with(fake_s3_url)
26-
session_instance.query.assert_called_once()
54+
session_instance.exec.assert_called_once()
2755
assert mock_document.extracted_text == fake_text
2856
session_instance.commit.assert_called_once()

0 commit comments

Comments
 (0)