Skip to content

Commit 4f95711

Browse files
Merge pull request #1466 from forjor/feat/Add_AWSSM_PutSecret_method
feat: Add put method into AWS Secrets Manager helper interface.
2 parents ce008dc + 4215900 commit 4f95711

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

modules/aws/secretsmanager.go

+20
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,26 @@ func GetSecretValueE(t testing.TestingT, awsRegion, id string) (string, error) {
5757
return aws.StringValue(secret.SecretString), nil
5858
}
5959

60+
// UpdateSecretString updates a secret in Secrets Manager to a new string value
61+
func PutSecretString(t testing.TestingT, awsRegion, id string, secretString string) {
62+
err := PutSecretStringE(t, awsRegion, id, secretString)
63+
require.NoError(t, err)
64+
}
65+
66+
// UpdateSecretStringE updates a secret in Secrets Manager to a new string value
67+
func PutSecretStringE(t testing.TestingT, awsRegion, id string, secretString string) error {
68+
logger.Default.Logf(t, "Updating secret with ID %s", id)
69+
70+
client := NewSecretsManagerClient(t, awsRegion)
71+
72+
_, err := client.PutSecretValue(&secretsmanager.PutSecretValueInput{
73+
SecretId: aws.String(id),
74+
SecretString: aws.String(secretString),
75+
})
76+
77+
return err
78+
}
79+
6080
// DeleteSecret deletes a secret. If forceDelete is true, the secret will be deleted after a short delay. If forceDelete is false, the secret will be deleted after a 30 day recovery window.
6181
func DeleteSecret(t testing.TestingT, awsRegion, id string, forceDelete bool) {
6282
err := DeleteSecretE(t, awsRegion, id, forceDelete)

modules/aws/secretsmanager_test.go

+9-3
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,19 @@ func TestSecretsManagerMethods(t *testing.T) {
1414
region := GetRandomStableRegion(t, nil, nil)
1515
name := random.UniqueId()
1616
description := "This is just a secrets manager test description."
17-
secretValue := "This is the secret value."
17+
secretOriginalValue := "This is the secret value."
18+
secretUpdatedValue := "This is the NEW secret value."
1819

19-
secretARN := CreateSecretStringWithDefaultKey(t, region, description, name, secretValue)
20+
secretARN := CreateSecretStringWithDefaultKey(t, region, description, name, secretOriginalValue)
2021
defer deleteSecret(t, region, secretARN)
2122

2223
storedValue := GetSecretValue(t, region, secretARN)
23-
assert.Equal(t, secretValue, storedValue)
24+
assert.Equal(t, secretOriginalValue, storedValue)
25+
26+
PutSecretString(t, region, secretARN, secretUpdatedValue)
27+
28+
storedValueAfterUpdate := GetSecretValue(t, region, secretARN)
29+
assert.Equal(t, secretUpdatedValue, storedValueAfterUpdate)
2430
}
2531

2632
func deleteSecret(t *testing.T, region, id string) {

0 commit comments

Comments
 (0)