TradingAgents/tests/unit
Andrew Kaszubski 2c802647e4 feat(dataflows): add vendor registry pattern for extensible data vendor routing - Fixes #11
Implements [DATA-10] Interface routing - add new data vendors with:
- VendorRegistry: Thread-safe singleton for centralized vendor registration
- VendorCapability enum: STOCK_DATA, FUNDAMENTALS, NEWS, MACROECONOMIC, etc.
- BaseVendor ABC: 3-stage lifecycle (transform_query, extract_data, transform_data)
- SimpleVendor: Wrapper for migrating existing vendor functions
- Decorators: @register_vendor, @vendor_method, @rate_limited, @with_retry, @cache_result
- RateLimiter: Thread-safe sliding window rate limiting
- 84 tests covering registry, base vendor, and decorators

Files:
- tradingagents/dataflows/vendor_registry.py (253 lines)
- tradingagents/dataflows/base_vendor.py (222 lines)
- tradingagents/dataflows/vendor_decorators.py (188 lines)
- tests/unit/dataflows/test_vendor_registry.py (30 tests)
- tests/unit/dataflows/test_base_vendor.py (27 tests)
- tests/unit/dataflows/test_vendor_decorators.py (27 tests)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 16:47:41 +11:00
..
api feat(db): add Trade model with CGT tracking and Australian FY support (#6) - TradeSide/TradeStatus/TradeOrderType enums, 50% discount for >12mo holdings, multi-currency FX, 87 tests 2025-12-26 14:46:06 +11:00
dataflows feat(dataflows): add vendor registry pattern for extensible data vendor routing - Fixes #11 2025-12-26 16:47:41 +11:00
__init__.py feat(tests): add pytest conftest.py hierarchy with shared fixtures - Fixes #49 2025-12-26 10:40:30 +11:00
conftest.py feat(tests): add pytest conftest.py hierarchy with shared fixtures - Fixes #49 2025-12-26 10:40:30 +11:00
test_conftest_hierarchy.py feat(tests): restructure tests into unit/integration/e2e directories - Fixes #50 2025-12-26 11:04:20 +11:00
test_documentation_structure.py feat(tests): restructure tests into unit/integration/e2e directories - Fixes #50 2025-12-26 11:04:20 +11:00
test_exceptions.py feat(tests): restructure tests into unit/integration/e2e directories - Fixes #50 2025-12-26 11:04:20 +11:00
test_logging_config.py feat(tests): restructure tests into unit/integration/e2e directories - Fixes #50 2025-12-26 11:04:20 +11:00
test_output_validators.py feat(tests): add UAT and evaluation tests for agent outputs - Fixes #53 2025-12-26 11:38:37 +11:00
test_report_exporter.py feat(tests): restructure tests into unit/integration/e2e directories - Fixes #50 2025-12-26 11:04:20 +11:00