test(fixtures): seed SHITTY release bucket with 15 anti-regression cases

Add 15 expected.yaml fixtures under tests/fixtures/releases/shitty/
covering the awkward but real-world release names from the downloads
folder. Each fixture locks in the current parse_release behavior so
future parser changes are intentional, not silent drift.

Cases captured:
- Angel INTEGRALE 3-level hierarchy (tv_complete media_type)
- Buffy custom French title with dots preserved
- Archer S14E09E10E11 multi-episode (E11 lost — tech debt)
- Notre Planète lowercase s01e01
- Vinyl ' - 1x01 - FHD' (stray dash artifact — tech debt)
- Deutschland.83 (year-suffix as part of title)
- Tatortreiniger S01-06 range (falls to movie — tech debt)
- Derry Girls duplicated title
- Jurassic Park bare folder (media_type=unknown)
- La Nuit au Musée bilingual MULTI
- Chérie j'ai agrandi (ASCII-stripped apostrophe, parses fine)
- Honey Don't (unescaped apostrophe — full AI-path degeneration)
- Hook MULTi.SUBS movie with Subs/ folder
- Predator Badlands space separators (group=UNKNOWN — tech debt)
- Westworld S04 Subs.Only (no video file)

Each fixture also captures the future 3-flow routing (library /
torrents / seed_hardlinks) ahead of the organize_media refactor.

Suite: 1011 passed, 8 skipped.
This commit is contained in:
2026-05-18 15:48:41 +02:00
parent 774f71c8cc
commit aa182458b8
16 changed files with 571 additions and 2 deletions
@@ -0,0 +1,42 @@
release_name: "Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA"
# The 'SUBS' marker advertises included subtitles in the release name itself
# but otherwise doesn't change the parse. Treat it like any other tag —
# don't drop it from raw, don't try to translate it into anything.
parsed:
title: "Hook"
year: 1991
season: null
episode: null
quality: "1080p"
source: "BluRay"
codec: "x264"
group: "MELBA"
tech_string: "1080p.BluRay.x264"
media_type: "movie"
languages: ["MULTI"]
parse_path: "direct"
is_season_pack: false
tree:
- "Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/"
- "Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA.mkv"
- "Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Subs/"
- "Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Subs/fre.srt"
- "Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Subs/eng.srt"
- "Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Subs/spa.srt"
routing:
library:
- "Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA.mkv"
- "Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Subs/fre.srt"
- "Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Subs/eng.srt"
torrents:
- "Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/"
seed_hardlinks:
- source: "library/Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA.mkv"
target: "torrents/Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA.mkv"
- source: "library/Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Subs/fre.srt"
target: "torrents/Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Subs/fre.srt"
- source: "library/Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Subs/eng.srt"
target: "torrents/Hook.1991.MULTi.SUBS.1080p.BluRay.x264-MELBA/Subs/eng.srt"