Files
secret/env_test.go
2025-09-04 14:25:11 +02:00

75 lines
1.1 KiB
Go

package secret
import (
"bytes"
"path/filepath"
"testing"
)
func TestEnvironment(t *testing.T) {
key := "USER"
if testInPipeline() {
key = "CI"
}
testProvider(t, Environment(),
testProviderCase{
Key: key,
Test: testNotEmpty,
})
}
func TestEnvironmentPrefix(t *testing.T) {
var (
prefix = "US"
key = "ER"
)
if testInPipeline() {
prefix = "CI_"
key = "JOB_ID"
}
testProvider(t, EnvironmentPrefix(prefix),
testProviderCase{
Key: key,
Test: testNotEmpty,
})
}
var testEnvironmentFileCases = []testProviderCase{
{
Key: "test",
Test: testEqualString("case"),
},
{
Key: "spaces",
Test: testEqualString("yeah"),
},
{
Key: "ignored",
Err: NotFound{"ignored"},
},
}
func TestEnvironmentFile(t *testing.T) {
p, err := EnvironmentFile(filepath.Join("testdata", "env"))
if err != nil {
t.Fatal(err)
return
}
testProvider(t, p, testEnvironmentFileCases...)
}
func TestEnvironmentReader(t *testing.T) {
p, err := EnvironmentReader(bytes.NewBufferString(`
#ignored=true
test=case
spaces = yeah
`))
if err != nil {
t.Fatal(err)
return
}
testProvider(t, p, testEnvironmentFileCases...)
}