ariadne/internal/platform/config/config_test.go
2026-07-24 05:45:04 +09:00

52 lines
1.4 KiB
Go

package config
import (
"testing"
"time"
)
func TestLoadDefaults(t *testing.T) {
t.Setenv("ARIADNE_ENVIRONMENT", "")
t.Setenv("ARIADNE_HTTP_ADDRESS", "")
t.Setenv("ARIADNE_DATABASE_URL", "")
t.Setenv("ARIADNE_DATABASE_IDENTITY_URL", "")
t.Setenv("ARIADNE_DATABASE_MIGRATION_URL", "")
t.Setenv("ARIADNE_DATABASE_RUNTIME_ROLE", "")
t.Setenv("ARIADNE_DATABASE_IDENTITY_ROLE", "")
t.Setenv("ARIADNE_MIGRATION_LOCK_TIMEOUT", "")
t.Setenv("ARIADNE_IOP_ENDPOINT", "")
t.Setenv("ARIADNE_SHUTDOWN_TIMEOUT", "")
config, err := Load()
if err != nil {
t.Fatalf("Load() error = %v", err)
}
if config.Environment != "development" {
t.Fatalf("Environment = %q, want development", config.Environment)
}
if config.HTTPAddress != ":8080" {
t.Fatalf("HTTPAddress = %q, want :8080", config.HTTPAddress)
}
if config.ShutdownTimeout != 10*time.Second {
t.Fatalf("ShutdownTimeout = %v, want 10s", config.ShutdownTimeout)
}
if config.MigrationLockTimeout != 30*time.Second {
t.Fatalf("MigrationLockTimeout = %v, want 30s", config.MigrationLockTimeout)
}
}
func TestLoadRejectsInvalidShutdownTimeout(t *testing.T) {
t.Setenv("ARIADNE_SHUTDOWN_TIMEOUT", "later")
if _, err := Load(); err == nil {
t.Fatal("Load() expected an error")
}
}
func TestLoadRejectsInvalidMigrationLockTimeout(t *testing.T) {
t.Setenv("ARIADNE_MIGRATION_LOCK_TIMEOUT", "0s")
if _, err := Load(); err == nil {
t.Fatal("Load() expected an error")
}
}