25 lines
787 B
Go
25 lines
787 B
Go
package main
|
|
|
|
import "testing"
|
|
|
|
func TestConfigFromEnvironment(t *testing.T) {
|
|
t.Setenv("GARDOMATIC_WEB_HOST", "0.0.0.0")
|
|
t.Setenv("GARDOMATIC_WEB_PORT", "4444")
|
|
t.Setenv("GARDOMATIC_API_BASE_URL", "https://api.example.com")
|
|
t.Setenv("GARDOMATIC_DEMO_ACCOUNT_EMAIL", " Demo@Example.com ")
|
|
cfg, err := configFromEnvironment()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if cfg.Host != "0.0.0.0" || cfg.Port != 4444 || cfg.APIBaseURL != "https://api.example.com" || cfg.DemoAccountEmail != "demo@example.com" {
|
|
t.Fatalf("unexpected config: %#v", cfg)
|
|
}
|
|
}
|
|
|
|
func TestConfigRejectsInvalidDemoAccountEmail(t *testing.T) {
|
|
t.Setenv("GARDOMATIC_DEMO_ACCOUNT_EMAIL", "not-an-email")
|
|
if _, err := configFromEnvironment(); err == nil {
|
|
t.Fatal("expected invalid demo account email error")
|
|
}
|
|
}
|