feat(reddit): honest tiering — OpenCLI / rdt-cli, no zero-config path
- live-verified 2026-06: anonymous .json endpoints are 403-blocked (all variants) and the official API closed self-service registration in 2025-11 — so the channel now says plainly: every Reddit backend needs a logged-in session, mainland China needs a proxy - backends = [OpenCLI, rdt-cli]: OpenCLI rides the browser session (desktop preferred); rdt-cli stays for servers and existing installs (upstream unmaintained since 2026-03, noted in the ok message) - install: desktop routes to OpenCLI, server installs rdt-cli from the pinned git source (split out as _install_rdt_cli) - skill/references/social.md: Reddit section rewritten as two backend command groups + a PRAW note scoped to users who already hold pre-2025-11 credentials (explicitly not recommended for new users) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+18
-2
@@ -60,7 +60,7 @@ class TestCLI:
|
||||
assert auth_token == "token123"
|
||||
assert ct0 == "ct0abc"
|
||||
|
||||
def test_install_reddit_deps_prefers_github_source(self, monkeypatch, capsys):
|
||||
def test_install_rdt_cli_prefers_github_source(self, monkeypatch, capsys):
|
||||
state = {"rdt_installed": False}
|
||||
commands = []
|
||||
|
||||
@@ -79,12 +79,28 @@ class TestCLI:
|
||||
monkeypatch.setattr(shutil, "which", fake_which)
|
||||
monkeypatch.setattr(subprocess, "run", fake_run)
|
||||
|
||||
cli._install_reddit_deps()
|
||||
cli._install_rdt_cli()
|
||||
|
||||
out = capsys.readouterr().out
|
||||
assert commands == [["pipx", "install", cli._RDT_GIT_SOURCE]]
|
||||
assert "✅ rdt-cli installed" in out
|
||||
|
||||
def test_install_reddit_deps_routes_by_environment(self, monkeypatch):
|
||||
"""桌面 → OpenCLI;服务器 → rdt-cli(钉 git 源)。"""
|
||||
calls = []
|
||||
monkeypatch.setattr(cli, "_install_opencli_deps", lambda: calls.append("opencli"))
|
||||
monkeypatch.setattr(cli, "_install_rdt_cli", lambda: calls.append("rdt"))
|
||||
monkeypatch.setattr(shutil, "which", lambda _: None)
|
||||
|
||||
monkeypatch.setattr(cli, "_detect_environment", lambda: "local")
|
||||
cli._install_reddit_deps()
|
||||
assert calls == ["opencli"]
|
||||
|
||||
calls.clear()
|
||||
monkeypatch.setattr(cli, "_detect_environment", lambda: "server")
|
||||
cli._install_reddit_deps()
|
||||
assert calls == ["rdt"]
|
||||
|
||||
|
||||
class TestCheckUpdateRetry:
|
||||
def test_retry_timeout_classification(self):
|
||||
|
||||
Reference in New Issue
Block a user