package config import "testing" func TestLoadFromEnvDefaults(t *testing.T) { t.Setenv("TUTOR_HTTP_ADDR", "") t.Setenv("TUTOR_ENV", "") t.Setenv("TUTOR_WORKFLOW_RUNTIME", "") t.Setenv("TUTOR_MODEL_KEY", "") t.Setenv("TUTOR_IMAGE_MODEL_KEY", "") t.Setenv("THIRDONE_BIN", "") cfg := LoadFromEnv() if cfg.HTTPAddr != defaultHTTPAddr { t.Fatalf("HTTPAddr = %q, want %q", cfg.HTTPAddr, defaultHTTPAddr) } if cfg.Environment != defaultEnvironment { t.Fatalf("Environment = %q, want %q", cfg.Environment, defaultEnvironment) } if cfg.ModelKey != defaultModelKey { t.Fatalf("ModelKey = %q, want %q", cfg.ModelKey, defaultModelKey) } if cfg.ImageModelKey != defaultImageModelKey { t.Fatalf("ImageModelKey = %q, want %q", cfg.ImageModelKey, defaultImageModelKey) } if cfg.ThirdOneBin != defaultThirdOneBin { t.Fatalf("ThirdOneBin = %q, want %q", cfg.ThirdOneBin, defaultThirdOneBin) } } func TestLoadFromEnvOverrides(t *testing.T) { t.Setenv("TUTOR_HTTP_ADDR", ":9090") t.Setenv("TUTOR_ENV", "test") t.Setenv("TUTOR_WORKFLOW_RUNTIME", "runtime.yaml") t.Setenv("TUTOR_MODEL_KEY", "other-model") t.Setenv("TUTOR_IMAGE_MODEL_KEY", "other-image-model") t.Setenv("THIRDONE_BIN", "C:/bin/thirdone.exe") cfg := LoadFromEnv() if cfg.HTTPAddr != ":9090" { t.Fatalf("HTTPAddr = %q", cfg.HTTPAddr) } if cfg.Environment != "test" { t.Fatalf("Environment = %q", cfg.Environment) } if cfg.WorkflowRuntime != "runtime.yaml" { t.Fatalf("WorkflowRuntime = %q", cfg.WorkflowRuntime) } if cfg.ModelKey != "other-model" { t.Fatalf("ModelKey = %q", cfg.ModelKey) } if cfg.ImageModelKey != "other-image-model" { t.Fatalf("ImageModelKey = %q", cfg.ImageModelKey) } if cfg.ThirdOneBin != "C:/bin/thirdone.exe" { t.Fatalf("ThirdOneBin = %q", cfg.ThirdOneBin) } }