2 Commits

Author SHA1 Message Date
a49df98191 fix(tests): QA fixes for test suite verification
:Release Notes:
- Fix AsyncMock usage in mock_sqlite_store fixture (test_chroma_store.py)
- Add GitHubTrendingCrawler to isinstance check (test_factory.py)
- Replace live network calls with mocks (test_new_crawlers.py)

:Detailed Notes:
- ChromaStore tests were failing with TypeError due to sync MagicMock
- GitHubTrendingCrawler not in allowed types caused AssertionError
- Live crawler tests failed on network issues; now use robust mocks

:Testing Performed:
- python3 -m pytest tests/ -v (112 passed, 0 failed)

:QA Notes:
- All 112 tests passed after fixes
- Verified by Python QA Engineer subagent

:Issues Addressed:
- TypeError: 'list' object can't be awaited
- AssertionError: GitHubTrendingCrawler not in allowed types
- Live network tests flaky/failing

Change-Id: I3c77a186b5fcca6778c7bbb102c50bc6951bb37a
2026-03-30 13:54:53 +03:00
217037f72e feat(crawlers): convert multiple sources from Playwright to Static/RSS
- Added `StaticCrawler` for generic aiohttp+BS4 parsing.
- Added `SkolkovoCrawler` for specialized Next.js parsing of sk.ru.
- Converted ICRA 2025, RSF, CES 2025, and Telegram Addmeto to `static`.
- Converted Horizon Europe to `rss` using its native feed.
- Updated `CrawlerFactory` to support new crawler types.
- Validated changes with unit tests.
2026-03-15 21:21:14 +03:00