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