summaryrefslogtreecommitdiff
path: root/player-server/testdata
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-19 09:28:23 +0300
committerPaul Buetow <paul@buetow.org>2026-05-19 09:28:23 +0300
commita44ce87c9acd57314d1b147ca447f373cab0aae7 (patch)
treee51eb2948d9b3c611666b96935201f87da252ba3 /player-server/testdata
parent60c8097e9fdb79d6b5ecea73d529803cbf297af0 (diff)
Commit license-cleared test media; retire ./testmedia in tests
Add player-server/testdata/media/ with ten public-domain media files: five LibriVox Aesop's-Fables mp3 chapters (audiobooks/), four NASA image-library jpgs (images/), and one NASA mp4 short (videos/). Total ~11 MB; each file's source URL and license is documented in testdata/LICENSES.md and README.md. Switch every default reference in tests, scenarios, docs, and CI from MEDIA_ROOT=./testmedia to MEDIA_ROOT=./testdata/media so a fresh clone can run mage E2E and the Playwright smoke suite without supplying any external media. The ./testmedia path remains gitignored — it's the local-only personal library directory. Verified: 12/12 Playwright e2e-web pass; 18/18 LLM e2e scenarios pass against the new fixture set. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Diffstat (limited to 'player-server/testdata')
-rw-r--r--player-server/testdata/LICENSES.md57
-rw-r--r--player-server/testdata/README.md56
-rw-r--r--player-server/testdata/media/audiobooks/aesops-fables/10-chapter.mp3bin0 -> 1933824 bytes
-rw-r--r--player-server/testdata/media/audiobooks/aesops-fables/13-chapter.mp3bin0 -> 1815040 bytes
-rw-r--r--player-server/testdata/media/audiobooks/aesops-fables/16-chapter.mp3bin0 -> 1875968 bytes
-rw-r--r--player-server/testdata/media/audiobooks/aesops-fables/34-chapter.mp3bin0 -> 1825792 bytes
-rw-r--r--player-server/testdata/media/audiobooks/aesops-fables/37-chapter.mp3bin0 -> 1013760 bytes
-rw-r--r--player-server/testdata/media/images/.thumbnails/cygnus-loop-pia17172.jpgbin0 -> 4577 bytes
-rw-r--r--player-server/testdata/media/images/.thumbnails/earth-pia18033.jpgbin0 -> 30666 bytes
-rw-r--r--player-server/testdata/media/images/.thumbnails/jupiter-pia12235.jpgbin0 -> 13850 bytes
-rw-r--r--player-server/testdata/media/images/.thumbnails/mars-pia22231.jpgbin0 -> 4844 bytes
-rw-r--r--player-server/testdata/media/images/cygnus-loop-pia17172.jpgbin0 -> 10255 bytes
-rw-r--r--player-server/testdata/media/images/earth-pia18033.jpgbin0 -> 68407 bytes
-rw-r--r--player-server/testdata/media/images/jupiter-pia12235.jpgbin0 -> 33438 bytes
-rw-r--r--player-server/testdata/media/images/mars-pia22231.jpgbin0 -> 10607 bytes
-rw-r--r--player-server/testdata/media/videos/.thumbnails/nile-red-sea-nasa.jpgbin0 -> 2258 bytes
-rw-r--r--player-server/testdata/media/videos/nile-red-sea-nasa.mp4bin0 -> 2394337 bytes
17 files changed, 113 insertions, 0 deletions
diff --git a/player-server/testdata/LICENSES.md b/player-server/testdata/LICENSES.md
new file mode 100644
index 0000000..1f07efa
--- /dev/null
+++ b/player-server/testdata/LICENSES.md
@@ -0,0 +1,57 @@
+# Test media — licensing and provenance
+
+All files under `testdata/media/` are either in the public domain or
+distributed under a permissive license that allows redistribution as part
+of this repository. Each file is listed below with its source URL,
+license, and a short description so the provenance is auditable.
+
+If you add a new fixture file, add an entry here. Do not commit a media
+file whose license you cannot document.
+
+---
+
+## `audiobooks/aesops-fables/`
+
+Five short readings from *The Æsop for Children* (Project Gutenberg /
+Milo Winter), recorded for LibriVox. LibriVox recordings are released
+into the **public domain** worldwide; the underlying text is also public
+domain. Source item on Internet Archive:
+<https://archive.org/details/aesopforchildren_1308_librivox>.
+
+| File | Source URL | License |
+|---|---|---|
+| `10-chapter.mp3` | <https://archive.org/download/aesopforchildren_1308_librivox/theaesopforchildren_10_aesop_64kb.mp3> | Public Domain (LibriVox) |
+| `13-chapter.mp3` | <https://archive.org/download/aesopforchildren_1308_librivox/theaesopforchildren_13_aesop_64kb.mp3> | Public Domain (LibriVox) |
+| `16-chapter.mp3` | <https://archive.org/download/aesopforchildren_1308_librivox/theaesopforchildren_16_aesop_64kb.mp3> | Public Domain (LibriVox) |
+| `34-chapter.mp3` | <https://archive.org/download/aesopforchildren_1308_librivox/theaesopforchildren_34_aesop_64kb.mp3> | Public Domain (LibriVox) |
+| `37-chapter.mp3` | <https://archive.org/download/aesopforchildren_1308_librivox/theaesopforchildren_37_aesop_64kb.mp3> | Public Domain (LibriVox) |
+
+LibriVox dedication statement:
+<https://librivox.org/pages/public-domain/>.
+
+---
+
+## `images/`
+
+Four thumbnails from the NASA Image Library. NASA imagery is generally
+**not subject to copyright** in the United States; see
+<https://www.nasa.gov/multimedia/guidelines/index.html>. The "~thumb"
+suffix in each URL retrieves the small thumbnail variant.
+
+| File | Source URL | License |
+|---|---|---|
+| `jupiter-pia12235.jpg` | <https://images-assets.nasa.gov/image/PIA12235/PIA12235~thumb.jpg> | Public Domain (NASA) |
+| `cygnus-loop-pia17172.jpg` | <https://images-assets.nasa.gov/image/PIA17172/PIA17172~thumb.jpg> | Public Domain (NASA) |
+| `earth-pia18033.jpg` | <https://images-assets.nasa.gov/image/PIA18033/PIA18033~thumb.jpg> | Public Domain (NASA) |
+| `mars-pia22231.jpg` | <https://images-assets.nasa.gov/image/PIA22231/PIA22231~thumb.jpg> | Public Domain (NASA) |
+
+---
+
+## `videos/`
+
+| File | Source URL | License |
+|---|---|---|
+| `nile-red-sea-nasa.mp4` | <https://archive.org/download/Nile-and-Red-Sea.mov/Nile-and-Red-Sea.mp4> | Public Domain (NASA) |
+
+The Nile and Red Sea satellite footage is a NASA product released to the
+public domain. Mirror: <https://archive.org/details/Nile-and-Red-Sea.mov>.
diff --git a/player-server/testdata/README.md b/player-server/testdata/README.md
new file mode 100644
index 0000000..3cad541
--- /dev/null
+++ b/player-server/testdata/README.md
@@ -0,0 +1,56 @@
+# Test data
+
+This directory contains the small, license-cleared media library used by
+the automated test suites (Playwright `e2e-web/`, LLM `e2e-llm/`, and the
+Mage `E2E` target). It is committed to the repository so anyone can clone
+and run the suites without an external download step.
+
+See [`LICENSES.md`](./LICENSES.md) for the source URL and license of
+every file.
+
+## Layout
+
+```
+testdata/
+├── LICENSES.md
+├── README.md
+└── media/
+ ├── audiobooks/aesops-fables/ five LibriVox public-domain mp3 chapters
+ ├── images/ four NASA public-domain jpgs
+ └── videos/ one NASA public-domain mp4 short
+```
+
+Each top-level directory under `media/` becomes a distinct *set* when the
+server scans the library, so the suites exercise multi-set browsing,
+per-set permissions, and cover regeneration without needing fixtures
+elsewhere.
+
+## Pointing the server at this directory
+
+The server resolves `MEDIA_ROOT` relative to the working directory it
+was started from. Start it from `player-server/` so the relative path
+works:
+
+```sh
+cd player-server
+MEDIA_ROOT=./testdata/media \
+ SECURE_COOKIES=false \
+ DB_PATH=/tmp/player-e2e-llm.db \
+ ./player
+```
+
+Override with an absolute path if you want to run against a different
+library (your own media collection lives outside the repository).
+
+## Adding more fixture files
+
+1. Pick a file whose license permits redistribution (public domain,
+ CC0, or a permissive Creative Commons variant). When in doubt,
+ prefer NASA, LibriVox, or Wikimedia Commons CC0.
+2. Keep individual files small (a few MB) so the repository stays
+ lightweight. The whole `testdata/` tree should remain on the order
+ of ~10–20 MB.
+3. Drop the file into the appropriate `media/<set>/` directory and add
+ an entry to `LICENSES.md` with the source URL and license.
+4. If a test was written against the old fixture set, update its
+ assertions to match the new file count or names.
diff --git a/player-server/testdata/media/audiobooks/aesops-fables/10-chapter.mp3 b/player-server/testdata/media/audiobooks/aesops-fables/10-chapter.mp3
new file mode 100644
index 0000000..92ae217
--- /dev/null
+++ b/player-server/testdata/media/audiobooks/aesops-fables/10-chapter.mp3
Binary files differ
diff --git a/player-server/testdata/media/audiobooks/aesops-fables/13-chapter.mp3 b/player-server/testdata/media/audiobooks/aesops-fables/13-chapter.mp3
new file mode 100644
index 0000000..965957f
--- /dev/null
+++ b/player-server/testdata/media/audiobooks/aesops-fables/13-chapter.mp3
Binary files differ
diff --git a/player-server/testdata/media/audiobooks/aesops-fables/16-chapter.mp3 b/player-server/testdata/media/audiobooks/aesops-fables/16-chapter.mp3
new file mode 100644
index 0000000..e45405d
--- /dev/null
+++ b/player-server/testdata/media/audiobooks/aesops-fables/16-chapter.mp3
Binary files differ
diff --git a/player-server/testdata/media/audiobooks/aesops-fables/34-chapter.mp3 b/player-server/testdata/media/audiobooks/aesops-fables/34-chapter.mp3
new file mode 100644
index 0000000..ec1e736
--- /dev/null
+++ b/player-server/testdata/media/audiobooks/aesops-fables/34-chapter.mp3
Binary files differ
diff --git a/player-server/testdata/media/audiobooks/aesops-fables/37-chapter.mp3 b/player-server/testdata/media/audiobooks/aesops-fables/37-chapter.mp3
new file mode 100644
index 0000000..c6faf4e
--- /dev/null
+++ b/player-server/testdata/media/audiobooks/aesops-fables/37-chapter.mp3
Binary files differ
diff --git a/player-server/testdata/media/images/.thumbnails/cygnus-loop-pia17172.jpg b/player-server/testdata/media/images/.thumbnails/cygnus-loop-pia17172.jpg
new file mode 100644
index 0000000..2231be7
--- /dev/null
+++ b/player-server/testdata/media/images/.thumbnails/cygnus-loop-pia17172.jpg
Binary files differ
diff --git a/player-server/testdata/media/images/.thumbnails/earth-pia18033.jpg b/player-server/testdata/media/images/.thumbnails/earth-pia18033.jpg
new file mode 100644
index 0000000..7ae5b3f
--- /dev/null
+++ b/player-server/testdata/media/images/.thumbnails/earth-pia18033.jpg
Binary files differ
diff --git a/player-server/testdata/media/images/.thumbnails/jupiter-pia12235.jpg b/player-server/testdata/media/images/.thumbnails/jupiter-pia12235.jpg
new file mode 100644
index 0000000..ce648fa
--- /dev/null
+++ b/player-server/testdata/media/images/.thumbnails/jupiter-pia12235.jpg
Binary files differ
diff --git a/player-server/testdata/media/images/.thumbnails/mars-pia22231.jpg b/player-server/testdata/media/images/.thumbnails/mars-pia22231.jpg
new file mode 100644
index 0000000..f0a0ec5
--- /dev/null
+++ b/player-server/testdata/media/images/.thumbnails/mars-pia22231.jpg
Binary files differ
diff --git a/player-server/testdata/media/images/cygnus-loop-pia17172.jpg b/player-server/testdata/media/images/cygnus-loop-pia17172.jpg
new file mode 100644
index 0000000..7a49a46
--- /dev/null
+++ b/player-server/testdata/media/images/cygnus-loop-pia17172.jpg
Binary files differ
diff --git a/player-server/testdata/media/images/earth-pia18033.jpg b/player-server/testdata/media/images/earth-pia18033.jpg
new file mode 100644
index 0000000..437b960
--- /dev/null
+++ b/player-server/testdata/media/images/earth-pia18033.jpg
Binary files differ
diff --git a/player-server/testdata/media/images/jupiter-pia12235.jpg b/player-server/testdata/media/images/jupiter-pia12235.jpg
new file mode 100644
index 0000000..6401254
--- /dev/null
+++ b/player-server/testdata/media/images/jupiter-pia12235.jpg
Binary files differ
diff --git a/player-server/testdata/media/images/mars-pia22231.jpg b/player-server/testdata/media/images/mars-pia22231.jpg
new file mode 100644
index 0000000..c67306c
--- /dev/null
+++ b/player-server/testdata/media/images/mars-pia22231.jpg
Binary files differ
diff --git a/player-server/testdata/media/videos/.thumbnails/nile-red-sea-nasa.jpg b/player-server/testdata/media/videos/.thumbnails/nile-red-sea-nasa.jpg
new file mode 100644
index 0000000..fc8edcb
--- /dev/null
+++ b/player-server/testdata/media/videos/.thumbnails/nile-red-sea-nasa.jpg
Binary files differ
diff --git a/player-server/testdata/media/videos/nile-red-sea-nasa.mp4 b/player-server/testdata/media/videos/nile-red-sea-nasa.mp4
new file mode 100644
index 0000000..fd78031
--- /dev/null
+++ b/player-server/testdata/media/videos/nile-red-sea-nasa.mp4
Binary files differ