Skip to content

Integration + e2e test infrastructure #21

Description

@koinsaari

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

  • Add //go:build integration test in internal/clients/jellyfin/ — hits real Jellyfin, asserts API shape with empty library (auth works, GetItems returns valid shape, GetItem on missing ID returns ErrItemNotFound). Local-only (make test-integration) for now.
  • Pre-bake Jellyfin config snapshot (testdata/jellyfin-config/) with known admin credentials for headless CI bootstrap (avoids interactive first-run setup).
  • Add Jellyfin service container to CI (.github/workflows/ci.yml), run integration tests on every PR.
  • Add E2E test: login → GET /catalogGET /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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions