package config import "testing" func TestLoadRequiresSecretsAndDatabase(t *testing.T) { t.Setenv("HOP_DATABASE_URL", "") t.Setenv("HOP_ADMIN_TOKEN", "") t.Setenv("HOP_GITEA_WEBHOOK_SECRET", "") if _, err := Load(); err == nil { t.Fatal("expected missing configuration error") } } func TestLoadDefaults(t *testing.T) { t.Setenv("HOP_DATABASE_URL", "postgres://example") t.Setenv("HOP_ADMIN_TOKEN", "admin-token-long-enough") t.Setenv("HOP_GITEA_WEBHOOK_SECRET", "webhook-secret-long-enough") t.Setenv("HOP_HTTP_ADDR", "") t.Setenv("GITEA_BASE_URL", "") cfg, err := Load() if err != nil { t.Fatal(err) } if cfg.HTTPAddr != ":8080" || cfg.GiteaBaseURL != "http://localhost:3000" { t.Fatalf("unexpected defaults: %#v", cfg) } }