Browse Source

fix: add tests for endpoint provider

Moritz Johner 5 years ago
parent
commit
1376181d2d
1 changed files with 37 additions and 0 deletions
  1. 37 0
      pkg/provider/aws/provider_test.go

+ 37 - 0
pkg/provider/aws/provider_test.go

@@ -570,6 +570,43 @@ func TestSMAssumeRole(t *testing.T) {
 	assert.Equal(t, creds.SecretAccessKey, "4444")
 }
 
+func TestResolver(t *testing.T) {
+	tbl := []struct {
+		env     string
+		service string
+		url     string
+	}{
+		{
+			env:     SecretsManagerEndpointEnv,
+			service: "secretsmanager",
+			url:     "http://sm.foo",
+		},
+		{
+			env:     SSMEndpointEnv,
+			service: "ssm",
+			url:     "http://ssm.foo",
+		},
+		{
+			env:     STSEndpointEnv,
+			service: "sts",
+			url:     "http://sts.foo",
+		},
+	}
+
+	for _, item := range tbl {
+		os.Setenv(item.env, item.url)
+		defer os.Unsetenv(item.env)
+	}
+
+	f := ResolveEndpoint()
+
+	for _, item := range tbl {
+		ep, err := f.EndpointFor(item.service, "")
+		assert.Nil(t, err)
+		assert.Equal(t, item.url, ep.URL)
+	}
+}
+
 func ErrorContains(out error, want string) bool {
 	if out == nil {
 		return want == ""