mirror of
https://github.com/hwchase17/langchain
synced 2024-10-29 17:07:25 +00:00
00c6ec8a2d
# Fix Telegram API loader + add tests. I was testing this integration and it was broken with next error: ```python message_threads = loader._get_message_threads(df) KeyError: False ``` Also, this particular loader didn't have any tests / related group in poetry, so I added those as well. @hwchase17 / @eyurtsev please take a look on this fix PR. --------- Co-authored-by: Dev 2049 <dev.dev2049@gmail.com>
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
from pathlib import Path
|
||
|
||
import pytest
|
||
|
||
from langchain.document_loaders import TelegramChatApiLoader, TelegramChatFileLoader
|
||
|
||
|
||
def test_telegram_chat_file_loader() -> None:
|
||
"""Test TelegramChatFileLoader."""
|
||
file_path = Path(__file__).parent / "test_docs" / "telegram.json"
|
||
loader = TelegramChatFileLoader(str(file_path))
|
||
docs = loader.load()
|
||
|
||
assert len(docs) == 1
|
||
assert docs[0].metadata["source"] == str(file_path)
|
||
assert docs[0].page_content == (
|
||
"Henry on 2020-01-01T00:00:02: It's 2020...\n\n"
|
||
"Henry on 2020-01-01T00:00:04: Fireworks!\n\n"
|
||
"Grace 🧤 ðŸ\x8d’ on 2020-01-01T00:00:05: You're a minute late!\n\n"
|
||
)
|
||
|
||
|
||
@pytest.mark.requires("telethon", "pandas")
|
||
def test_telegram_channel_loader_parsing() -> None:
|
||
"""Test TelegramChatApiLoader."""
|
||
file_path = Path(__file__).parent / "test_docs" / "telegram_channel.json"
|
||
# if we don't provide any value, it will skip fetching from telegram
|
||
# and will check the parsing logic.
|
||
loader = TelegramChatApiLoader(file_path=str(file_path))
|
||
docs = loader.load()
|
||
|
||
assert len(docs) == 1
|
||
print(docs[0].page_content)
|
||
assert docs[0].page_content == (
|
||
"Hello, world!.\nLLMs are awesome! Langchain is great. Telegram is the best!."
|
||
)
|