(t *testing.T)
| 107 | } |
| 108 | |
| 109 | func TestLoadAWSProfileSettings(t *testing.T) { |
| 110 | dir := t.TempDir() |
| 111 | configPath := filepath.Join(dir, "config") |
| 112 | content := `[default] |
| 113 | region = us-east-1 |
| 114 | login_session = arn:aws:iam::111111111111:user/test |
| 115 | |
| 116 | [profile demo] |
| 117 | region = us-west-2 |
| 118 | role_arn = arn:aws:iam::222222222222:role/demo |
| 119 | source_profile = default |
| 120 | external_id = ext-123 |
| 121 | role_session_name = demo-session |
| 122 | duration_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 | } |
nothing calls this directly
no test coverage detected