fix: resolve AniList playback using exact MAL mappings

This commit is contained in:
2026-10-25 19:24:21 +01:00
parent b95f7d251e
commit 7052fe29af
5 changed files with 116 additions and 40 deletions
+8 -4
View File
@@ -62,15 +62,19 @@ def main():
require(result.returncode != 0 and not result.stdout, "invalid syntax/unsupported URL must fail without JSON or launch")
require(not (root / secret).exists(), "invalid source check must not create progress file")
if live:
for episode, expected in [(1, "available"), (27, "unavailable")]:
result = invoke(["--check-source", f"https://zokoanime.video/stream/ani/1/{episode}/sub"])
for media_id, episode, expected in [
(1, 1, "available"), (1, 27, "unavailable"),
(97940, 1, "available"), (97940, 170, "available"),
(195604, 1, "available"),
]:
result = invoke(["--check-source", f"https://zokoanime.video/stream/ani/{media_id}/{episode}/sub"])
require(result.returncode == 0, "completed provider checks exit zero")
require(result.stdout.endswith(b"\n") and result.stdout.count(b"\n") == 1, "exactly one JSON line")
row = json.loads(result.stdout)
require(row == {"version": 1, "provider": "zokoanime", "track": "sub", "status": expected},
f"live episode {episode} expected {expected}; result is redacted")
f"live AniList {media_id} episode {episode} expected {expected}; result is redacted")
require(not result.stderr, "successful source checks have no error logs")
print("PASS: actual CLI resolves episode 1/root manifest and explicit missing episode 27 headlessly, without state writes")
print("PASS: actual CLI resolves exact MAL mappings for Cowboy Bebop and both Black Clover entries; explicit missing remains unavailable; no state writes")
else:
print("PASS: actual CLI rejects hostile URLs/flags privately, without configuration reads, state writes or bundle launch")