Spaces:
Running
Running
| import pytest | |
| from unittest.mock import patch, MagicMock | |
| import pandas as pd | |
| from connectors.slack_handler import SlackHandler | |
| def slack_handler(): | |
| return SlackHandler() | |
| def test_fetch_messages_success(mock_webclient, slack_handler): | |
| mock_client = MagicMock() | |
| mock_webclient.return_value = mock_client | |
| mock_client.conversations_history.return_value = { | |
| "ok": True, | |
| "messages": [ | |
| {"user": "U123", "text": "Hello world", "ts": "12345.67"} | |
| ] | |
| } | |
| df = slack_handler.fetch_messages("fake-token", "C123") | |
| assert not df.empty | |
| assert len(df) == 1 | |
| assert df.iloc[0]["Content"] == "Hello world" | |
| assert df.iloc[0]["Sender"] == "U123" | |
| def test_fetch_messages_api_error(mock_webclient, slack_handler): | |
| mock_client = MagicMock() | |
| mock_webclient.return_value = mock_client | |
| from slack_sdk.errors import SlackApiError | |
| mock_client.conversations_history.side_effect = SlackApiError("Error", response={"error": "channel_not_found"}) | |
| df = slack_handler.fetch_messages("fake-token", "invalid") | |
| assert df.empty | |
| def test_fetch_messages_http_error(mock_webclient, slack_handler): | |
| mock_webclient.side_effect = Exception("Some connection error") | |
| df = slack_handler.fetch_messages("fake-token", "C123") | |
| assert df.empty | |