Skip to content

Install end to end against a real Jellyfin server, in the environment-bound harness #54

Description

@iderex

Depends on #21 and on the publication pipeline.

Everything else in this plan tests the catalogue against its own idea of what a
Jellyfin server does. This is the one test that asks the server.

It matters because the failure it catches is the one nobody sees coming: a
manifest that is well-formed, passes every check here, and renders as an empty
repository on a real server because of a field the server reads differently than
expected. A target ABI that does not match, an identifier the server rejects, a
content type that makes it refuse the body, a version format it will not parse.
None of those are visible from this side.

It needs a running server and a network, so under #13 it lives in the
environment-bound harness and the merge gate never depends on it. The name should
say what it needs.

What it does: start a server, add the published address as a repository, assert
the catalogue lists what it should, install one plugin, and assert the server
reports it installed. The install step is the one that verifies the checksum, so
it is also the only place the artifact pairing rule is proven against something
other than a fixture.

Done when

The harness runs against a real server, adds the address, lists the catalogue and
installs a plugin, and fails when the manifest is deliberately given a mismatched
checksum. The merge gate passes with the harness entirely absent.
Machine-decidable.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions