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

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:
admin committed 2026-10-15 14:34:33 +02:00
1 parent e209a8d724
commit 17863fe8bc
22 files changed
+762 -21

No files matched your search

@@ -12,14 +12,17 @@ import (
// /signup 403 before, 200 after). Through the PRODUCTION restore write (PersistUnitRedeployConfig).
// The removed app comes back with the lock record AND its block — written before anything starts.
// COMPANION RED-PROOF: drop the restoreSignupLock call in PersistUnitRedeployConfig → both assertions fail.
// v0.314.0 (R-1057): this is the case of a backup taken AFTER the first setup (its gate record says open). A backup with
// no record now comes back with a CLOSED gate (restore_gate_test.go), so the open case is named explicitly here.
// COMPANION RED-PROOF: drop the restoreSignupLock call in PersistUnitRedeployConfigGate → both assertions fail.
func TestR773_ARemovedAppComesBackWithSignupClosed(t *testing.T) {
m := gateManager(t, signupYml)
dir := filepath.Join(m.cfg.Paths.StacksDir, "gapp")
if LoadAppConfig(dir) != nil {
t.Fatal("precondition: the removed app has no app.yaml")
}
must(t, m.PersistUnitRedeployConfig("gapp", map[string]string{"DOMAIN": "example.hu", "SUBDOMAIN": "gapp"}))
must(t, m.PersistUnitRedeployConfigGate("gapp", map[string]string{"DOMAIN": "example.hu", "SUBDOMAIN": "gapp"},
GateAtBackup{Known: true, Closed: false, OpenedBy: SetupGateByHousehold}))
got := LoadAppConfig(dir)
if got == nil || got.SetupGate == nil || got.SetupGate.State != SetupGateOpen || got.SetupGate.OpenedBy != SetupGateByRestore {
t.Fatalf("the restore must record the sign-up lock (an OPEN gate record, by restore), got %+v", got)