28 lines
748 B
Go
28 lines
748 B
Go
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)
|
|
}
|
|
}
|