diff --git a/plugin_test.go b/plugin_test.go index dceaa6f..eb14658 100644 --- a/plugin_test.go +++ b/plugin_test.go @@ -1,27 +1,13 @@ package main import ( - "log" "os" "os/exec" "testing" . "github.com/franela/goblin" - "github.com/joho/godotenv" ) -func loadEnv(keyValue string) { - const FileName = "./.env_example" - env, err := godotenv.Unmarshal(keyValue) - err = godotenv.Write(env, FileName) - if err != nil { - log.Fatal(err) - } - defer os.Remove(FileName) - - _ = godotenv.Load(FileName) -} - func TestPlugin(t *testing.T) { g := Goblin(t) @@ -42,57 +28,38 @@ func TestPlugin(t *testing.T) { }) g.Describe("credsSet", func() { - var awsAccessKeyID string - var awsSecretAccessKey string - var awsSessionToken string - - g.Before(func() { - awsAccessKeyID = os.Getenv("AWS_ACCESS_KEY_ID") - awsSecretAccessKey = os.Getenv("AWS_SECRET_ACCESS_KEY") - awsSessionToken = os.Getenv("AWS_SESSION_TOKEN") - }) - - // Restoring all credentials after running the credsSet test - g.After(func() { - os.Setenv("AWS_ACCESS_KEY_ID", awsAccessKeyID) - os.Setenv("AWS_SECRET_ACCESS_KEY", awsSecretAccessKey) - os.Setenv("AWS_SESSION_TOKEN", awsSessionToken) - }) - - type args struct { - config string - } - tests := []struct { name string - args args + args map[string]string want bool }{ { "Should return true when all credentials were set", - args{config: "AWS_ACCESS_KEY_ID=access_key_id1\nAWS_SECRET_ACCESS_KEY=secret_access_key1\nAWS_SESSION_TOKEN=session_token1"}, + map[string]string{"AWS_ACCESS_KEY_ID": "x", "AWS_SECRET_ACCESS_KEY": "x", "AWS_SESSION_TOKEN": "x"}, true, }, { "Should return false when access key id is missing", - args{config: "AWS_SECRET_ACCESS_KEY=secret_access_key2\nAWS_SESSION_TOKEN=session_token2"}, + map[string]string{"AWS_SECRET_ACCESS_KEY": "x", "AWS_SESSION_TOKEN": "x"}, false, }, { "Should return false when secret access key is missing", - args{config: "AWS_ACCESS_KEY_ID=access_key_id3\nAWS_SESSION_TOKEN=session_token3"}, + map[string]string{"AWS_ACCESS_KEY_ID": "x", "AWS_SESSION_TOKEN": "x"}, false, }, { "Should return false when session token is missing", - args{config: "AWS_ACCESS_KEY_ID=access_key_id4\nAWS_SECRET_ACCESS_KEY=secret_access_key4"}, + map[string]string{"AWS_ACCESS_KEY_ID": "x", "AWS_SECRET_ACCESS_KEY": "x"}, false, }, } for _, tt := range tests { g.It(tt.name, func() { - loadEnv(tt.args.config) + for k, v := range tt.args { + os.Setenv(k, v) + } g.Assert(credsSet()).Equal(tt.want) }) }