package config import "testing" func TestValidateRejectsNonLoopbackByDefault(t *testing.T) { t.Parallel() cfg := Config{ HTTPAddress: "0.0.0.0:8080", DatabaseDSN: "file:test.db", MediaMTXURL: "http://127.0.0.1:9997", ReconcileInterval: 1, ProbeInterval: 1, } if err := cfg.Validate(); err == nil { t.Fatal("expected non-loopback bind to be rejected") } cfg.AllowNonLoopback = true if err := cfg.Validate(); err != nil { t.Fatalf("explicit non-loopback opt-in failed: %v", err) } } func TestValidateRejectsCredentialsInMediaMTXURL(t *testing.T) { t.Parallel() cfg := Config{ HTTPAddress: "127.0.0.1:8080", DatabaseDSN: "file:test.db", MediaMTXURL: "http://" + "user" + ":" + "redacted" + "@127.0.0.1:9997", ReconcileInterval: 1, ProbeInterval: 1, } if err := cfg.Validate(); err == nil { t.Fatal("expected credentials in MediaMTX URL to be rejected") } }