diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2026-04-02 14:08:48 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2026-04-02 14:08:48 +0900 |
| commit | de5100240a070bfb16ef19a40095903afbf38d3c (patch) | |
| tree | c004263cffc4fe193df99e680ab8b66691b7c0bb /services/news-collector/tests | |
| parent | 9bf5aef24d83065c093d8cf4e32d789efd07777b (diff) | |
feat: implement news-collector main scheduler with all collectors
Diffstat (limited to 'services/news-collector/tests')
| -rw-r--r-- | services/news-collector/tests/test_main.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/services/news-collector/tests/test_main.py b/services/news-collector/tests/test_main.py new file mode 100644 index 0000000..3ebb094 --- /dev/null +++ b/services/news-collector/tests/test_main.py @@ -0,0 +1,37 @@ +"""Tests for news collector scheduler.""" +import pytest +from unittest.mock import AsyncMock, MagicMock +from datetime import datetime, timezone +from shared.models import NewsCategory, NewsItem +from news_collector.main import run_collector_once + + +async def test_run_collector_once_stores_and_publishes(): + mock_item = NewsItem( + source="test", headline="Test news", + published_at=datetime(2026, 4, 2, tzinfo=timezone.utc), + sentiment=0.5, category=NewsCategory.MACRO, + ) + mock_collector = MagicMock() + mock_collector.name = "test" + mock_collector.collect = AsyncMock(return_value=[mock_item]) + mock_db = MagicMock() + mock_db.insert_news_item = AsyncMock() + mock_broker = MagicMock() + mock_broker.publish = AsyncMock() + + count = await run_collector_once(mock_collector, mock_db, mock_broker) + assert count == 1 + mock_db.insert_news_item.assert_called_once_with(mock_item) + mock_broker.publish.assert_called_once() + + +async def test_run_collector_once_handles_empty(): + mock_collector = MagicMock() + mock_collector.name = "test" + mock_collector.collect = AsyncMock(return_value=[]) + mock_db = MagicMock() + mock_broker = MagicMock() + + count = await run_collector_once(mock_collector, mock_db, mock_broker) + assert count == 0 |
