embedchain
36 строк · 1.1 Кб
1import hashlib2import os3from unittest.mock import Mock, patch4
5import pytest6
7from embedchain.loaders.notion import NotionLoader8
9
10@pytest.fixture11def notion_loader():12with patch.dict(os.environ, {"NOTION_INTEGRATION_TOKEN": "test_notion_token"}):13yield NotionLoader()14
15
16def test_load_data(notion_loader):17source = "https://www.notion.so/Test-Page-1234567890abcdef1234567890abcdef"18mock_text = "This is a test page."19expected_doc_id = hashlib.sha256((mock_text + source).encode()).hexdigest()20expected_data = [21{22"content": mock_text,23"meta_data": {"url": "notion-12345678-90ab-cdef-1234-567890abcdef"}, # formatted_id24}25]26
27mock_page = Mock()28mock_page.text = mock_text29mock_documents = [mock_page]30
31with patch("embedchain.loaders.notion.NotionPageLoader") as mock_reader:32mock_reader.return_value.load_data.return_value = mock_documents33result = notion_loader.load_data(source)34
35assert result["doc_id"] == expected_doc_id36assert result["data"] == expected_data37