package main import ( "context" "os" "strings" "testing" ) func TestRunRequiresDatabaseURL(t *testing.T) { err := run(context.Background(), func(string) string { return "" }) if err == nil || !strings.Contains(err.Error(), "DATABASE_URL") { t.Fatalf("run() error = %v, want DATABASE_URL error", err) } } func TestAPIPropagatesProductionReleaseRequestGate(t *testing.T) { source, err := os.ReadFile("main.go") if err != nil { t.Fatal(err) } normalized := strings.Join(strings.Fields(string(source)), " ") for _, required := range []string{ "if config.ProductionReleaseRequestsEnabled {", "weknora.ReadAPIKeyFile(config.ProductionReleaseAuthTokenFile)", "ProductionReleaseRequestsEnabled: config.ProductionReleaseRequestsEnabled", "ProductionBackupRestoreVerified: config.ProductionBackupRestoreVerified", "ProductionReleaseAuthorizerRef: config.ProductionReleaseAuthorizerRef", "ProductionReleaseAuthorizationToken: releaseAuthorizationToken", } { if !strings.Contains(normalized, required) { t.Fatalf("API production authorization wiring missing %q", required) } } } func TestComposeDefaultsProductionBackupRestoreGateToFalse(t *testing.T) { source, err := os.ReadFile("../../compose.yaml") if err != nil { t.Fatal(err) } if !strings.Contains(string(source), `PRODUCTION_BACKUP_RESTORE_VERIFIED: ${PRODUCTION_BACKUP_RESTORE_VERIFIED:-false}`) { t.Fatal("compose must pass the production backup restore gate with a false default") } }