mirror of
https://github.com/Dvorinka/SEEN.git
synced 2026-06-04 12:33:02 +00:00
72 lines
1.8 KiB
Go
72 lines
1.8 KiB
Go
package config
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestLoadDefaults(t *testing.T) {
|
|
t.Setenv("SEEN_HTTP_PORT", "invalid")
|
|
t.Setenv("SEEN_HTTP_READ_TIMEOUT", "invalid")
|
|
|
|
cfg := Load()
|
|
|
|
if cfg.HTTP.Port != 8081 {
|
|
t.Fatalf("expected default port 8081, got %d", cfg.HTTP.Port)
|
|
}
|
|
|
|
if cfg.HTTP.ReadTimeout != 15*time.Second {
|
|
t.Fatalf("expected default read timeout, got %s", cfg.HTTP.ReadTimeout)
|
|
}
|
|
}
|
|
|
|
func TestLoadCustomValues(t *testing.T) {
|
|
t.Setenv("SEEN_ENV", "test")
|
|
t.Setenv("SEEN_HTTP_PORT", "9090")
|
|
t.Setenv("SEEN_HTTP_READ_TIMEOUT", "5s")
|
|
t.Setenv("SEEN_POSTGRES_MAX_CONNS", "22")
|
|
t.Setenv("SEEN_CACHE_DB", "3")
|
|
t.Setenv("SEEN_IGDB_CLIENT_ID", "client-id")
|
|
t.Setenv("SEEN_IGDB_TOKEN_URL", "https://id.twitch.tv/oauth2/token")
|
|
t.Setenv("SEEN_CORS_ALLOWED_ORIGINS", "https://seen.example.com, https://www.seen.example.com")
|
|
t.Setenv("SEEN_CORS_ALLOW_CREDENTIALS", "true")
|
|
|
|
cfg := Load()
|
|
|
|
if cfg.Env != "test" {
|
|
t.Fatalf("expected env test, got %q", cfg.Env)
|
|
}
|
|
|
|
if cfg.HTTP.Port != 9090 {
|
|
t.Fatalf("expected http port 9090, got %d", cfg.HTTP.Port)
|
|
}
|
|
|
|
if cfg.HTTP.ReadTimeout != 5*time.Second {
|
|
t.Fatalf("expected read timeout 5s, got %s", cfg.HTTP.ReadTimeout)
|
|
}
|
|
|
|
if cfg.Postgres.MaxConns != 22 {
|
|
t.Fatalf("expected max conns 22, got %d", cfg.Postgres.MaxConns)
|
|
}
|
|
|
|
if cfg.Cache.DB != 3 {
|
|
t.Fatalf("expected cache db 3, got %d", cfg.Cache.DB)
|
|
}
|
|
|
|
if cfg.IGDB.ClientID != "client-id" {
|
|
t.Fatalf("expected igdb client id to load, got %q", cfg.IGDB.ClientID)
|
|
}
|
|
|
|
if cfg.IGDB.TokenURL != "https://id.twitch.tv/oauth2/token" {
|
|
t.Fatalf("expected igdb token url to load, got %q", cfg.IGDB.TokenURL)
|
|
}
|
|
|
|
if len(cfg.CORS.AllowedOrigins) != 2 {
|
|
t.Fatalf("expected 2 cors origins, got %d", len(cfg.CORS.AllowedOrigins))
|
|
}
|
|
|
|
if !cfg.CORS.AllowCredentials {
|
|
t.Fatal("expected allow credentials to be true")
|
|
}
|
|
}
|