@@ -33,13 +33,18 @@ class UpdateMFAPreferenceTaskTests: BasePluginTest {
33
33
for smsPreference in allSMSPreferences {
34
34
for totpPreference in allTOTPPreference {
35
35
self . mockIdentityProvider = MockIdentityProvider (
36
+ mockGetUserAttributeResponse: { request in
37
+ return . init(
38
+ userMFASettingList: [ " SOFTWARE_TOKEN_MFA " , " SMS_MFA " ]
39
+ )
40
+ } ,
36
41
mockSetUserMFAPreferenceResponse: { request in
37
42
XCTAssertEqual (
38
43
request. smsMfaSettings,
39
- smsPreference. smsSetting)
44
+ smsPreference. smsSetting ( ) )
40
45
XCTAssertEqual (
41
46
request. softwareTokenMfaSettings,
42
- totpPreference. softwareTokenSetting)
47
+ totpPreference. softwareTokenSetting ( ) )
43
48
44
49
return . init( )
45
50
} )
@@ -67,9 +72,17 @@ class UpdateMFAPreferenceTaskTests: BasePluginTest {
67
72
///
68
73
func testUpdateMFAPreferenceWithInternalErrorException( ) async throws {
69
74
70
- mockIdentityProvider = MockIdentityProvider ( mockSetUserMFAPreferenceResponse: { _ in
71
- throw SetUserMFAPreferenceOutputError . unknown ( . init( httpResponse: . init( body: . empty, statusCode: . ok) ) )
72
- } )
75
+ mockIdentityProvider = MockIdentityProvider (
76
+ mockGetUserAttributeResponse: { request in
77
+ return . init(
78
+ preferredMfaSetting: " SOFTWARE_TOKEN_MFA " ,
79
+ userMFASettingList: [ " SOFTWARE_TOKEN_MFA " , " SMS_MFA " ]
80
+ )
81
+ } ,
82
+ mockSetUserMFAPreferenceResponse: { _ in
83
+ throw SetUserMFAPreferenceOutputError . unknown ( . init( httpResponse: . init( body: . empty, statusCode: . ok) ) )
84
+ }
85
+ )
73
86
74
87
do {
75
88
_ = try await plugin. updateMFAPreference ( sms: . enabled, totp: . enabled)
@@ -92,9 +105,17 @@ class UpdateMFAPreferenceTaskTests: BasePluginTest {
92
105
///
93
106
func testUpdateMFAPreferenceWithInvalidParameterException( ) async throws {
94
107
95
- mockIdentityProvider = MockIdentityProvider ( mockSetUserMFAPreferenceResponse: { _ in
96
- throw SetUserMFAPreferenceOutputError . invalidParameterException ( . init( ) )
97
- } )
108
+ mockIdentityProvider = MockIdentityProvider (
109
+ mockGetUserAttributeResponse: { request in
110
+ return . init(
111
+ preferredMfaSetting: " SOFTWARE_TOKEN_MFA " ,
112
+ userMFASettingList: [ " SOFTWARE_TOKEN_MFA " , " SMS_MFA " ]
113
+ )
114
+ } ,
115
+ mockSetUserMFAPreferenceResponse: { _ in
116
+ throw SetUserMFAPreferenceOutputError . invalidParameterException ( . init( ) )
117
+ }
118
+ )
98
119
99
120
do {
100
121
_ = try await plugin. updateMFAPreference ( sms: . enabled, totp: . enabled)
@@ -121,9 +142,17 @@ class UpdateMFAPreferenceTaskTests: BasePluginTest {
121
142
///
122
143
func testUpdateMFAPreferenceWithNotAuthorizedException( ) async throws {
123
144
124
- mockIdentityProvider = MockIdentityProvider ( mockSetUserMFAPreferenceResponse: { _ in
125
- throw SetUserMFAPreferenceOutputError . notAuthorizedException ( . init( message: " message " ) )
126
- } )
145
+ mockIdentityProvider = MockIdentityProvider (
146
+ mockGetUserAttributeResponse: { request in
147
+ return . init(
148
+ preferredMfaSetting: " SOFTWARE_TOKEN_MFA " ,
149
+ userMFASettingList: [ " SOFTWARE_TOKEN_MFA " , " SMS_MFA " ]
150
+ )
151
+ } ,
152
+ mockSetUserMFAPreferenceResponse: { _ in
153
+ throw SetUserMFAPreferenceOutputError . notAuthorizedException ( . init( message: " message " ) )
154
+ }
155
+ )
127
156
128
157
do {
129
158
_ = try await plugin. updateMFAPreference ( sms: . enabled, totp: . enabled)
@@ -148,9 +177,17 @@ class UpdateMFAPreferenceTaskTests: BasePluginTest {
148
177
///
149
178
func testUpdateMFAPreferenceWithPasswordResetRequiredException( ) async throws {
150
179
151
- mockIdentityProvider = MockIdentityProvider ( mockSetUserMFAPreferenceResponse: { _ in
152
- throw SetUserMFAPreferenceOutputError . passwordResetRequiredException ( . init( ) )
153
- } )
180
+ mockIdentityProvider = MockIdentityProvider (
181
+ mockGetUserAttributeResponse: { request in
182
+ return . init(
183
+ preferredMfaSetting: " SOFTWARE_TOKEN_MFA " ,
184
+ userMFASettingList: [ " SOFTWARE_TOKEN_MFA " , " SMS_MFA " ]
185
+ )
186
+ } ,
187
+ mockSetUserMFAPreferenceResponse: { _ in
188
+ throw SetUserMFAPreferenceOutputError . passwordResetRequiredException ( . init( ) )
189
+ }
190
+ )
154
191
155
192
do {
156
193
_ = try await plugin. updateMFAPreference ( sms: . enabled, totp: . enabled)
@@ -179,9 +216,17 @@ class UpdateMFAPreferenceTaskTests: BasePluginTest {
179
216
///
180
217
func testUpdateMFAPreferenceWithResourceNotFoundException( ) async throws {
181
218
182
- mockIdentityProvider = MockIdentityProvider ( mockSetUserMFAPreferenceResponse: { _ in
183
- throw SetUserMFAPreferenceOutputError . resourceNotFoundException ( . init( ) )
184
- } )
219
+ mockIdentityProvider = MockIdentityProvider (
220
+ mockGetUserAttributeResponse: { request in
221
+ return . init(
222
+ preferredMfaSetting: " SOFTWARE_TOKEN_MFA " ,
223
+ userMFASettingList: [ " SOFTWARE_TOKEN_MFA " , " SMS_MFA " ]
224
+ )
225
+ } ,
226
+ mockSetUserMFAPreferenceResponse: { _ in
227
+ throw SetUserMFAPreferenceOutputError . resourceNotFoundException ( . init( ) )
228
+ }
229
+ )
185
230
186
231
do {
187
232
_ = try await plugin. updateMFAPreference ( sms: . enabled, totp: . enabled)
@@ -210,9 +255,17 @@ class UpdateMFAPreferenceTaskTests: BasePluginTest {
210
255
///
211
256
func testUpdateMFAPreferenceWithForbiddenException( ) async throws {
212
257
213
- mockIdentityProvider = MockIdentityProvider ( mockSetUserMFAPreferenceResponse: { _ in
214
- throw SetUserMFAPreferenceOutputError . forbiddenException ( . init( ) )
215
- } )
258
+ mockIdentityProvider = MockIdentityProvider (
259
+ mockGetUserAttributeResponse: { request in
260
+ return . init(
261
+ preferredMfaSetting: " SOFTWARE_TOKEN_MFA " ,
262
+ userMFASettingList: [ " SOFTWARE_TOKEN_MFA " , " SMS_MFA " ]
263
+ )
264
+ } ,
265
+ mockSetUserMFAPreferenceResponse: { _ in
266
+ throw SetUserMFAPreferenceOutputError . forbiddenException ( . init( ) )
267
+ }
268
+ )
216
269
217
270
do {
218
271
_ = try await plugin. updateMFAPreference ( sms: . enabled, totp: . enabled)
@@ -237,9 +290,17 @@ class UpdateMFAPreferenceTaskTests: BasePluginTest {
237
290
///
238
291
func testUpdateMFAPreferenceWithUserNotConfirmedException( ) async throws {
239
292
240
- mockIdentityProvider = MockIdentityProvider ( mockSetUserMFAPreferenceResponse: { _ in
241
- throw SetUserMFAPreferenceOutputError . userNotConfirmedException ( . init( ) )
242
- } )
293
+ mockIdentityProvider = MockIdentityProvider (
294
+ mockGetUserAttributeResponse: { request in
295
+ return . init(
296
+ preferredMfaSetting: " SOFTWARE_TOKEN_MFA " ,
297
+ userMFASettingList: [ " SOFTWARE_TOKEN_MFA " , " SMS_MFA " ]
298
+ )
299
+ } ,
300
+ mockSetUserMFAPreferenceResponse: { _ in
301
+ throw SetUserMFAPreferenceOutputError . userNotConfirmedException ( . init( ) )
302
+ }
303
+ )
243
304
do {
244
305
_ = try await plugin. updateMFAPreference ( sms: . enabled, totp: . enabled)
245
306
XCTFail ( " Should return an error if the result from service is invalid " )
@@ -267,9 +328,17 @@ class UpdateMFAPreferenceTaskTests: BasePluginTest {
267
328
///
268
329
func testUpdateMFAPreferenceWithUserNotFoundException( ) async throws {
269
330
270
- mockIdentityProvider = MockIdentityProvider ( mockSetUserMFAPreferenceResponse: { _ in
271
- throw SetUserMFAPreferenceOutputError . userNotFoundException ( . init( ) )
272
- } )
331
+ mockIdentityProvider = MockIdentityProvider (
332
+ mockGetUserAttributeResponse: { request in
333
+ return . init(
334
+ preferredMfaSetting: " SOFTWARE_TOKEN_MFA " ,
335
+ userMFASettingList: [ " SOFTWARE_TOKEN_MFA " , " SMS_MFA " ]
336
+ )
337
+ } ,
338
+ mockSetUserMFAPreferenceResponse: { _ in
339
+ throw SetUserMFAPreferenceOutputError . userNotFoundException ( . init( ) )
340
+ }
341
+ )
273
342
do {
274
343
_ = try await plugin. updateMFAPreference ( sms: . enabled, totp: . enabled)
275
344
XCTFail ( " Should return an error if the result from service is invalid " )
0 commit comments