@@ -17,21 +17,22 @@ limitations under the License.
17
17
package secretsmanager
18
18
19
19
import (
20
+ "context"
20
21
"crypto/rand"
21
22
"sort"
22
23
"testing"
23
24
24
- "github.com/aws/aws-sdk-go/aws"
25
- "github.com/aws/aws-sdk-go/service/secretsmanager"
25
+ "github.com/aws/aws-sdk-go-v2 /aws"
26
+ "github.com/aws/aws-sdk-go-v2 /service/secretsmanager"
26
27
"github.com/golang/mock/gomock"
27
28
. "github.com/onsi/gomega"
28
29
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
29
30
"k8s.io/apimachinery/pkg/runtime"
30
31
"sigs.k8s.io/controller-runtime/pkg/client"
31
32
"sigs.k8s.io/controller-runtime/pkg/client/fake"
32
33
34
+ "github.com/aws/aws-sdk-go-v2/service/secretsmanager/types"
33
35
infrav1 "sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2"
34
- "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/awserrors"
35
36
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/scope"
36
37
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/services/secretsmanager/mock_secretsmanageriface"
37
38
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
@@ -48,13 +49,13 @@ func TestServiceCreate(t *testing.T) {
48
49
return token
49
50
}
50
51
51
- sortTagsByKey := func (tags []* secretsmanager .Tag ) {
52
+ sortTagsByKey := func (tags []types .Tag ) {
52
53
sort .Slice (tags , func (i , j int ) bool {
53
54
return * (tags [i ].Key ) < * (tags [j ].Key )
54
55
})
55
56
}
56
57
57
- expectedTags := []* secretsmanager .Tag {
58
+ expectedTags := []types .Tag {
58
59
{
59
60
Key : aws .String ("Name" ),
60
61
Value : aws .String ("infra-cluster" ),
@@ -97,7 +98,7 @@ func TestServiceCreate(t *testing.T) {
97
98
expectedPrefix : "/awsprefix" ,
98
99
wantErr : false ,
99
100
expect : func (g * WithT , m * mock_secretsmanageriface.MockSecretsManagerAPIMockRecorder ) {
100
- m .CreateSecret (gomock .Any ()).Times (0 )
101
+ m .CreateSecret (gomock .Any (), gomock . AssignableToTypeOf ( & secretsmanager. CreateSecretInput {}) ).Times (0 )
101
102
},
102
103
},
103
104
{
@@ -107,8 +108,8 @@ func TestServiceCreate(t *testing.T) {
107
108
expectedPrefix : "prefix" ,
108
109
wantErr : false ,
109
110
expect : func (g * WithT , m * mock_secretsmanageriface.MockSecretsManagerAPIMockRecorder ) {
110
- m .CreateSecret (gomock .AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).MinTimes (1 ).Return (& secretsmanager.CreateSecretOutput {}, nil ).Do (
111
- func (createSecretInput * secretsmanager.CreateSecretInput ) {
111
+ m .CreateSecret (gomock .Any (), gomock . AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).MinTimes (1 ).Return (& secretsmanager.CreateSecretOutput {}, nil ).Do (
112
+ func (ctx context. Context , createSecretInput * secretsmanager.CreateSecretInput , optFns ... func ( * secretsmanager. Options ) ) {
112
113
g .Expect (* (createSecretInput .Name )).To (HavePrefix ("prefix-" ))
113
114
sortTagsByKey (createSecretInput .Tags )
114
115
g .Expect (createSecretInput .Tags ).To (Equal (expectedTags ))
@@ -123,8 +124,8 @@ func TestServiceCreate(t *testing.T) {
123
124
expectedPrefix : "/prefix" ,
124
125
wantErr : true ,
125
126
expect : func (g * WithT , m * mock_secretsmanageriface.MockSecretsManagerAPIMockRecorder ) {
126
- m .CreateSecret (gomock .AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (nil , & secretsmanager .InternalServiceError {}).Do (
127
- func (createSecretInput * secretsmanager.CreateSecretInput ) {
127
+ m .CreateSecret (gomock .Any (), gomock . AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (nil , & types .InternalServiceError {}).Do (
128
+ func (ctx context. Context , createSecretInput * secretsmanager.CreateSecretInput , optFns ... func ( * secretsmanager. Options ) ) {
128
129
g .Expect (* (createSecretInput .Name )).To (HavePrefix ("/prefix-" ))
129
130
sortTagsByKey (createSecretInput .Tags )
130
131
g .Expect (createSecretInput .Tags ).To (Equal (expectedTags ))
@@ -139,9 +140,9 @@ func TestServiceCreate(t *testing.T) {
139
140
expectedPrefix : "aws.cluster.x-k8s.io" ,
140
141
wantErr : false ,
141
142
expect : func (g * WithT , m * mock_secretsmanageriface.MockSecretsManagerAPIMockRecorder ) {
142
- m .CreateSecret (gomock .AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (nil , & secretsmanager .InvalidRequestException {})
143
- m .CreateSecret (gomock .AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (nil , & secretsmanager .ResourceNotFoundException {})
144
- m .CreateSecret (gomock .AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (& secretsmanager.CreateSecretOutput {}, nil )
143
+ m .CreateSecret (gomock .Any (), gomock . AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (nil , & types .InvalidRequestException {})
144
+ m .CreateSecret (gomock .Any (), gomock . AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (nil , & types .ResourceNotFoundException {})
145
+ m .CreateSecret (gomock .Any (), gomock . AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (& secretsmanager.CreateSecretOutput {}, nil )
145
146
},
146
147
},
147
148
{
@@ -151,9 +152,9 @@ func TestServiceCreate(t *testing.T) {
151
152
expectedPrefix : "aws.cluster.x-k8s.io" ,
152
153
wantErr : false ,
153
154
expect : func (g * WithT , m * mock_secretsmanageriface.MockSecretsManagerAPIMockRecorder ) {
154
- m .CreateSecret (gomock .AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (nil , & secretsmanager .ResourceExistsException {})
155
- m .DeleteSecret (gomock .AssignableToTypeOf (& secretsmanager.DeleteSecretInput {})).Return (& secretsmanager.DeleteSecretOutput {}, nil )
156
- m .CreateSecret (gomock .AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (& secretsmanager.CreateSecretOutput {}, nil )
155
+ m .CreateSecret (gomock .Any (), gomock . AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (nil , & types .ResourceExistsException {})
156
+ m .DeleteSecret (gomock .Any (), gomock . AssignableToTypeOf (& secretsmanager.DeleteSecretInput {})).Return (& secretsmanager.DeleteSecretOutput {}, nil )
157
+ m .CreateSecret (gomock .Any (), gomock . AssignableToTypeOf (& secretsmanager.CreateSecretInput {})).Return (& secretsmanager.CreateSecretOutput {}, nil )
157
158
},
158
159
},
159
160
}
@@ -202,7 +203,7 @@ func TestServiceDelete(t *testing.T) {
202
203
name : "Should not return error when delete is successful" ,
203
204
secretCount : 1 ,
204
205
expect : func (m * mock_secretsmanageriface.MockSecretsManagerAPIMockRecorder ) {
205
- m .DeleteSecret (gomock .Eq (& secretsmanager.DeleteSecretInput {
206
+ m .DeleteSecret (gomock .Any (), gomock . Eq (& secretsmanager.DeleteSecretInput {
206
207
SecretId : aws .String ("prefix-0" ),
207
208
ForceDeleteWithoutRecovery : aws .Bool (true ),
208
209
})).Return (& secretsmanager.DeleteSecretOutput {}, nil )
@@ -215,22 +216,22 @@ func TestServiceDelete(t *testing.T) {
215
216
name : "Should return all errors except not found errors" ,
216
217
secretCount : 3 ,
217
218
expect : func (m * mock_secretsmanageriface.MockSecretsManagerAPIMockRecorder ) {
218
- m .DeleteSecret (gomock .Eq (& secretsmanager.DeleteSecretInput {
219
+ m .DeleteSecret (gomock .Any (), gomock . Eq (& secretsmanager.DeleteSecretInput {
219
220
SecretId : aws .String ("prefix-0" ),
220
221
ForceDeleteWithoutRecovery : aws .Bool (true ),
221
- })).Return (nil , awserrors . NewFailedDependency ( "failed dependency" ) )
222
- m .DeleteSecret (gomock .Eq (& secretsmanager.DeleteSecretInput {
222
+ })).Return (nil , & types. InternalServiceError {} )
223
+ m .DeleteSecret (gomock .Any (), gomock . Eq (& secretsmanager.DeleteSecretInput {
223
224
SecretId : aws .String ("prefix-1" ),
224
225
ForceDeleteWithoutRecovery : aws .Bool (true ),
225
- })).Return (nil , awserrors . NewNotFound ( "not found" ) )
226
- m .DeleteSecret (gomock .Eq (& secretsmanager.DeleteSecretInput {
226
+ })).Return (nil , & types. ResourceNotFoundException {} )
227
+ m .DeleteSecret (gomock .Any (), gomock . Eq (& secretsmanager.DeleteSecretInput {
227
228
SecretId : aws .String ("prefix-2" ),
228
229
ForceDeleteWithoutRecovery : aws .Bool (true ),
229
- })).Return (nil , awserrors . NewConflict ( "new conflict" ) )
230
+ })).Return (nil , & types. InvalidRequestException {} )
230
231
},
231
232
check : func (g * WithT , err error ) {
232
233
g .Expect (err ).ToNot (BeNil ())
233
- g .Expect ((err .Error ())).To (Equal ("[failed dependency, new conflict ]" ))
234
+ g .Expect ((err .Error ())).To (Equal ("[InternalServiceError: , InvalidRequestException: ]" ))
234
235
},
235
236
},
236
237
}
0 commit comments