Track the work needed to properly test the proxy against a real Jellyfin instance, both in CI and as full end-to-end flows.
Tasks
Notes
Integration tests (CI): empty Jellyfin, verifies HTTP contract and error codes — no real media needed.
E2E tests: needs seeded fixture files in the Jellyfin config snapshot to test the full browse → play handoff flow. Add when catalog + auth are stable enough to drive a real client flow.
Track the work needed to properly test the proxy against a real Jellyfin instance, both in CI and as full end-to-end flows.
Tasks
//go:build integrationtest ininternal/clients/jellyfin/— hits real Jellyfin, asserts API shape with empty library (auth works,GetItemsreturns valid shape,GetItemon missing ID returnsErrItemNotFound). Local-only (make test-integration) for now.testdata/jellyfin-config/) with known admin credentials for headless CI bootstrap (avoids interactive first-run setup)..github/workflows/ci.yml), run integration tests on every PR.GET /catalog→GET /catalog/{id}with seeded fixture media (small public-domain video clips). Run nightly or on-demand. Lives in this repo.Notes
Integration tests (CI): empty Jellyfin, verifies HTTP contract and error codes — no real media needed.
E2E tests: needs seeded fixture files in the Jellyfin config snapshot to test the full browse → play handoff flow. Add when catalog + auth are stable enough to drive a real client flow.