123456789101112131415161718192021222324252627282930313233343536 |
- import hashlib
- import os
- from unittest.mock import Mock, patch
- import pytest
- from embedchain.loaders.notion import NotionLoader
- @pytest.fixture
- def notion_loader():
- with patch.dict(os.environ, {"NOTION_INTEGRATION_TOKEN": "test_notion_token"}):
- yield NotionLoader()
- def test_load_data(notion_loader):
- source = "https://www.notion.so/Test-Page-1234567890abcdef1234567890abcdef"
- mock_text = "This is a test page."
- expected_doc_id = hashlib.sha256((mock_text + source).encode()).hexdigest()
- expected_data = [
- {
- "content": mock_text,
- "meta_data": {"url": "notion-12345678-90ab-cdef-1234-567890abcdef"}, # formatted_id
- }
- ]
- mock_page = Mock()
- mock_page.text = mock_text
- mock_documents = [mock_page]
- with patch("embedchain.loaders.notion.NotionPageLoader") as mock_reader:
- mock_reader.return_value.load_data.return_value = mock_documents
- result = notion_loader.load_data(source)
- assert result["doc_id"] == expected_doc_id
- assert result["data"] == expected_data
|