package main import ( "os" "path/filepath" "testing" ) func TestEnvTokenPrefersTokenEnv(t *testing.T) { t.Setenv("OPEN_PROXY_TOKEN", "env-token") t.Setenv("OPEN_PROXY_TOKEN_FILE", filepath.Join(t.TempDir(), "missing")) token, err := envToken() if err != nil { t.Fatalf("envToken() error = %v", err) } if token != "env-token" { t.Fatalf("envToken() = %q, want %q", token, "env-token") } } func TestEnvTokenReadsTokenFile(t *testing.T) { path := filepath.Join(t.TempDir(), "token") if err := os.WriteFile(path, []byte("file-token\n"), 0o600); err != nil { t.Fatal(err) } t.Setenv("OPEN_PROXY_TOKEN_FILE", path) token, err := envToken() if err != nil { t.Fatalf("envToken() error = %v", err) } if token != "file-token" { t.Fatalf("envToken() = %q, want %q", token, "file-token") } } func TestEnvTokenErrorsOnEmptyTokenFile(t *testing.T) { path := filepath.Join(t.TempDir(), "token") if err := os.WriteFile(path, []byte("\n"), 0o600); err != nil { t.Fatal(err) } t.Setenv("OPEN_PROXY_TOKEN_FILE", path) if token, err := envToken(); err == nil { t.Fatalf("envToken() = %q, nil error; want error", token) } }