"""历史导入器单元测试(文件匹配/扫描逻辑,不依赖真实 DB)。""" from __future__ import annotations from pathlib import Path from report_import.importer import _match_file class TestMatchFile: def test_finance(self) -> None: p = Path("20260711/finance_news_daily_20260710_0720.html") assert _match_file(p, None, None) assert _match_file(p, "20260710", None) assert _match_file(p, None, "finance") assert not _match_file(p, "20260711", None) # 文件名日期不含 20260711 assert not _match_file(p, None, "intl") def test_no_timestamp_suffix(self) -> None: # 早期文件无时间戳后缀,也应匹配 p = Path("20260616/finance_news_daily_20260616.html") assert _match_file(p, None, None) assert _match_file(p, "20260616", "finance") def test_intl(self) -> None: p = Path("20260711/intl_news_daily_20260711_070304.html") assert _match_file(p, "20260711", "intl") assert not _match_file(p, None, "finance") def test_non_report_ignored(self) -> None: assert not _match_file(Path("20260711/002714.SZ_0724.html"), None, None) assert not _match_file(Path("20260711/readme.md"), None, None)