Agent-Reach/tests
Kada Liao 31f00b8d78
feat(channels): add V2EX support via public API (zero-config, tier=0)
* feat(channels): add V2EX support via public API

V2EX provides a public JSON API that requires no authentication.
This PR adds:
- agent_reach/channels/v2ex.py: V2EXChannel (tier=0, zero-config)
  - can_handle() matches v2ex.com URLs
  - check() verifies API reachability via urllib (no extra deps)
- Register V2EXChannel in channels/__init__.py
- SKILL.md: add V2EX section with curl examples for hot topics,
  node browsing, topic detail, replies, and user info
- tests/test_channels.py: URL matching + mocked ok/warn check tests

V2EX API endpoints used:
  GET /api/v2/topics/hot          — hot topics
  GET /api/topics/show.json       — node topics / topic detail
  GET /api/replies/show.json      — topic replies
  GET /api/members/show.json      — user info

* feat(channels): expand V2EX channel with data-fetching methods

Add get_hot_topics, get_node_topics, get_topic, get_user, and search
methods to V2EXChannel using stdlib urllib only (no new dependencies).
Update unit tests and SKILL.md with Python call examples.

* feat(v2ex): add data fetching methods to V2EXChannel
2026-03-12 14:29:07 +08:00
..
test_channel_contracts.py remove: drop Boss直聘 channel (non-functional) (#135) 2026-03-10 10:14:59 +08:00
test_channels.py feat(channels): add V2EX support via public API (zero-config, tier=0) 2026-03-12 14:29:07 +08:00
test_cli.py release: v1.3.0 (#70) 2026-03-04 18:18:18 +08:00
test_config.py fix: YouTube JS runtime check, Douyin health check, cli bare except, config permission race (#104) 2026-03-08 21:24:05 +08:00
test_core.py chore: add quality infra matrix, constraints, and test baseline fixes 2026-02-27 12:27:07 +08:00
test_doctor.py fix(tests): align format_report assertions with actual output (#119) 2026-03-08 22:29:19 +08:00