package secret import ( "bytes" "path/filepath" "testing" ) func TestEnvironment(t *testing.T) { key := "USER" if _, ci := testInPipeline(); ci { key = "CI" } testProvider(t, Environment(), testProviderCase{ Key: key, Test: testNotEmpty, }) } func TestEnvironmentPrefix(t *testing.T) { var ( prefix = "US" key = "ER" ) if platform, ci := testInPipeline(); ci { switch platform { case "gitea": prefix = "GITEA_" key = "ACTIONS" case "gitlab": 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...) }