Docker test image #2102

Closed
opened 2026-02-06 21:45:41 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @cromefire on GitHub (Sep 5, 2020).

Problem

E2E testing is currently nearly impossible because you have to set up a server and fill it with data somehow.

Solution

But many CI systems allow you to run docker images side by side with your tests, so an official test image, that contains a few, small snippets that are already added to the library (with some fake metadata or so) and 2 preconfigured users (admin & user) with auth. It could be created either by directly inserting data into the db or by using the web apis

Alternatives

  • Build your own test image automatically
    • Hard to do: You have to make sure everything was added to the library correctly
    • Breakage: It may break between releases
  • Build your own test image manually
    • No reproducibility: You may make error when trying to configure it

If you have more alternatives, I'll gladly consider them, but for now that seems to be it

Originally created by @cromefire on GitHub (Sep 5, 2020). ## Problem E2E testing is currently nearly impossible because you have to set up a server and fill it with data somehow. ## Solution But many CI systems allow you to run docker images side by side with your tests, so an official test image, that contains a few, small snippets that are already added to the library (with some fake metadata or so) and 2 preconfigured users (admin & user) with auth. It could be created either by directly inserting data into the db or by using the web apis ## Alternatives - Build your own test image automatically - Hard to do: You have to make sure everything was added to the library correctly - Breakage: It may break between releases - Build your own test image manually - No reproducibility: You may make error when trying to configure it If you have more alternatives, I'll gladly consider them, but for now that seems to be it
OVERLORD added the stale label 2026-02-06 21:45:41 +03:00
Author
Owner

@PrplHaz4 commented on GitHub (Sep 8, 2020):

Well, there's already unstable images being built - the next step could be running simple scripts inside them to get things set up - this could be incorporated into CI to build a dedicated image later if it proves reliable...

Here's some related stuff I've run across recently that made me think of jf integration testing:

This project has some bash and python scripts that set up a bare jf instance that might be an easy/hacky starting point. I'm not sure what .Net Core has in the way of support for db fixtures, which will be obsoleted quickly at the pace the conversion to EF is moving....

This project has some sample media with unit tests for mediainfo that seem pretty useful:

@PrplHaz4 commented on GitHub (Sep 8, 2020): Well, there's already unstable images being built - the next step could be running simple scripts inside them to get things set up - this could be incorporated into CI to build a dedicated image later if it proves reliable... Here's some related stuff I've run across recently that made me think of jf integration testing: This project has some bash and python scripts that set up a bare jf instance that might be an easy/hacky starting point. I'm not sure what .Net Core has in the way of support for db fixtures, which will be obsoleted quickly at the pace the conversion to EF is moving.... - https://github.com/turnkeylinux-apps/mediaserver/pull/20/files This project has some sample media with unit tests for mediainfo that seem pretty useful: - https://github.com/UniversalMediaServer/UniversalMediaServer/pull/2238
Author
Owner

@stale[bot] commented on GitHub (Jan 6, 2021):

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@stale[bot] commented on GitHub (Jan 6, 2021): This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#2102