Files
open-proxy/proto_test.go

49 lines
1.1 KiB
Go

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)
}
}