v0.314.0: a restore puts the setup gate back as it was (R-1057); a test build moves with the floor (R-1053); Prowlarr links itself (R-1058); the box claims Plex by address (R-1060)
gates / gates (push) Successful in 47s
gates / gates (push) Successful in 47s
MinAgent 0.155.0 (unchanged). Tests red-proved by mutation (A: 10, B: 7, C: 1, C2: 2). Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
1 parent
e209a8d724
commit
17863fe8bc
22 files changed
+762
-21
No files matched your search
@@ -0,0 +1,38 @@
|
||||
package stacks
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// R-1058 (v0.314.0) — Prowlarr's own start runs the media wiring, so installed AFTER Sonarr/Radarr it is linked with
|
||||
// no button. Through the PRODUCTION compose call (composeExecCustomEnv) with the docker stand-in on PATH (R-650).
|
||||
// COMPANION RED-PROOF: empty linkOnlyApps → „prowlarr" is missing from the calls and this fails.
|
||||
func TestR1058_ProwlarrUpRunsTheWiring(t *testing.T) {
|
||||
m := gateManager(t, "display_name: x\n")
|
||||
var calls []string
|
||||
m.SetOnMediaUp(func(name string) { calls = append(calls, name) })
|
||||
mk := func(name, yml string) string {
|
||||
d := filepath.Join(m.cfg.Paths.StacksDir, name)
|
||||
must(t, os.MkdirAll(d, 0o755))
|
||||
must(t, os.WriteFile(filepath.Join(d, "docker-compose.yml"), []byte("services: {}\n"), 0o644))
|
||||
must(t, os.WriteFile(filepath.Join(d, ".felhom.yml"), []byte(yml), 0o644))
|
||||
return d
|
||||
}
|
||||
prowlarr := mk("prowlarr", "display_name: Prowlarr\nsetup_gate: true\n")
|
||||
sonarr := mk("sonarr", "display_name: Sonarr\nmedia_library:\n kinds: [tv]\n")
|
||||
plain := mk("vaultwarden", "display_name: Vaultwarden\n")
|
||||
for _, d := range []string{prowlarr, sonarr, plain} {
|
||||
if _, err := m.composeExecCustomEnv(d, nil, "up", "-d"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
if _, err := m.composeExecCustomEnv(prowlarr, nil, "ps"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
want := []string{"prowlarr", "sonarr"}
|
||||
if len(calls) != len(want) || calls[0] != want[0] || calls[1] != want[1] {
|
||||
t.Fatalf("wiring runs = %v, want %v (Prowlarr's up, Sonarr's up; never another app, never a non-up command)", calls, want)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user