MCPcopy Create free account
hub / github.com/barnybug/cli53 / TestLoadAWSProfileSettings

Function TestLoadAWSProfileSettings

util_test.go:109–142  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

107}
108
109func TestLoadAWSProfileSettings(t *testing.T) {
110 dir := t.TempDir()
111 configPath := filepath.Join(dir, "config")
112 content := `[default]
113region = us-east-1
114login_session = arn:aws:iam::111111111111:user/test
115
116[profile demo]
117region = us-west-2
118role_arn = arn:aws:iam::222222222222:role/demo
119source_profile = default
120external_id = ext-123
121role_session_name = demo-session
122duration_seconds = 3600
123`
124 require.NoError(t, os.WriteFile(configPath, []byte(content), 0o600))
125 t.Setenv("AWS_CONFIG_FILE", configPath)
126
127 source, found, err := loadAWSProfileSettings("default")
128 require.NoError(t, err)
129 require.True(t, found)
130 assert.Equal(t, "us-east-1", source.Region)
131 assert.Equal(t, "arn:aws:iam::111111111111:user/test", source.LoginSession)
132
133 target, found, err := loadAWSProfileSettings("demo")
134 require.NoError(t, err)
135 require.True(t, found)
136 assert.Equal(t, "us-west-2", target.Region)
137 assert.Equal(t, "arn:aws:iam::222222222222:role/demo", target.RoleARN)
138 assert.Equal(t, "default", target.SourceProfileName)
139 assert.Equal(t, "ext-123", target.ExternalID)
140 assert.Equal(t, "demo-session", target.RoleSessionName)
141 assert.Equal(t, time.Hour, target.Duration)
142}

Callers

nothing calls this directly

Calls 1

loadAWSProfileSettingsFunction · 0.85

Tested by

no test coverage detected