75 lines
1.1 KiB
Go
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...)
|
|
}
|