mirror of
https://github.com/Glitchy-Sheep/boosty-downloader.git
synced 2026-10-14 21:33:23 +00:00
[PR #158] [MERGED] [tests] Add local-server e2e and CLI smoke, report coverage in CI #161
Labels
No labels
api-drift
bug
ci
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Glitchy-Sheep/boosty-downloader#161
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Glitchy-Sheep/boosty-downloader/pull/158
Author: @Glitchy-Sheep
Created: 8/17/2026
Status: ✅ Merged
Merged: 8/17/2026
Merged by: @Glitchy-Sheep
Base:
main← Head:test/e2e-and-coverage-gate📝 Commits (1)
7333c6etest: Add local-server e2e and CLI smoke, report coverage in CI📊 Changes
5 files changed (+246 additions, -6 deletions)
View changed files
📝
.github/workflows/ci.yaml(+3 -1)📝
Taskfile.yml(+2 -2)📝
pyproject.toml(+3 -3)➕
test/e2e/download_flow_test.py(+197 -0)➕
test/unit/cli/cli_smoke_test.py(+41 -0)📄 Description
[tests] Add local-server e2e and CLI smoke, report coverage in CI
Summary
Final PR of the test safety-net stage. The e2e test is the piece the audit called the key to a safe DI/use-case refactoring: a full download run must produce exactly the same tree on disk, byte for byte where it matters. No network, no credentials - everything runs against a local server, so it works in CI and forks.
What is in here
E2e (
test/e2e/download_flow_test.py):BoostyAPIClient(pointed at the local server), real file downloader, real SQLite cache, real HTML renderer; only the console reporter and yt-dlp are absentdate - title (id8), image with a guessed.png, file with the author's exact name and bytes, videoFixture video (10000000).mp4, audio, post.html with the title and relative linksCLI smoke (
test/unit/cli/cli_smoke_test.py): the real typer app throughCliRunner- every help screen exits 0,downloadwithout--usernameis a usage error (exit 2), not a crash.Coverage in CI: the test step runs
task test:cov, so every CI log shows the coverage table (78% now). Reported, not enforced - a deliberate choice.Verification
task cichecks green: lint, format, pyright, 164 passed + 1 xfail, buildNotes
test/e2eadded totestpathsand both Taskfile test targetsci/skip-changelog)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.