@@ -32,8 +32,9 @@ import org.junit.Assert
32
32
import org.junit.Before
33
33
import org.junit.Test
34
34
35
- private const val OLD_TOKEN = " old-token"
36
- private const val REFRESHED_TOKEN = " refreshed-auth-token"
35
+ private const val OLD_ACCESS_TOKEN = " old-token"
36
+ private const val REFRESHED_ACCESS_TOKEN = " refreshed-auth-token"
37
+ private const val REFRESH_TOKEN = " refresh-token"
37
38
38
39
@SmallTest
39
40
class ClientManagerMockTest {
@@ -75,7 +76,7 @@ class ClientManagerMockTest {
75
76
76
77
val responseBody = """
77
78
{
78
- "access_token": $REFRESHED_TOKEN ,
79
+ "access_token": $REFRESHED_ACCESS_TOKEN ,
79
80
"instance_url": "https://login.salesforce.com",
80
81
"id": "https://login.salesforce.com/id/orgId/userId",
81
82
"token_type": "Bearer",
@@ -108,7 +109,8 @@ class ClientManagerMockTest {
108
109
val broadcastIntentSlot = slot<Intent >()
109
110
val mockAccount = mockk<Account >(relaxed = true )
110
111
val mockUser = mockk<UserAccount >(relaxed = true ) {
111
- every { authToken } returns OLD_TOKEN
112
+ every { authToken } returns OLD_ACCESS_TOKEN
113
+ every { refreshToken } returns REFRESH_TOKEN
112
114
every { loginServer } returns " https://login.salesforce.com"
113
115
}
114
116
val mockClientManager = mockk<ClientManager >(relaxed = true ) {
@@ -120,22 +122,22 @@ class ClientManagerMockTest {
120
122
val authTokenProvider = ClientManager .AccMgrAuthTokenProvider (
121
123
mockClientManager,
122
124
" https://login.salesforce.com" ,
123
- OLD_TOKEN ,
124
- " " ,
125
+ OLD_ACCESS_TOKEN ,
126
+ REFRESH_TOKEN ,
125
127
)
126
128
127
129
val result = authTokenProvider.getNewAuthToken()
128
- Assert .assertEquals(REFRESHED_TOKEN , result)
130
+ Assert .assertEquals(REFRESHED_ACCESS_TOKEN , result)
129
131
130
132
verify(exactly = 0 ) {
131
133
mockSDKManager.logout(any(), any(), any(), any())
132
134
}
133
135
verify(exactly = 1 ) {
134
- mockClientManager.invalidateToken(OLD_TOKEN )
136
+ mockClientManager.invalidateToken(OLD_ACCESS_TOKEN )
135
137
mockUserAccountManager.updateAccount(mockAccount, capture(userSlot))
136
138
mockAppContext.sendBroadcast(capture(broadcastIntentSlot))
137
139
}
138
- Assert .assertEquals(REFRESHED_TOKEN , userSlot.captured.authToken)
140
+ Assert .assertEquals(REFRESHED_ACCESS_TOKEN , userSlot.captured.authToken)
139
141
Assert .assertEquals(ClientManager .ACCESS_TOKEN_REFRESH_INTENT , broadcastIntentSlot.captured.action)
140
142
}
141
143
@@ -145,7 +147,8 @@ class ClientManagerMockTest {
145
147
val broadcastIntentSlot = slot<Intent >()
146
148
val mockAccount = mockk<Account >(relaxed = true )
147
149
val mockUser = mockk<UserAccount >(relaxed = true ) {
148
- every { authToken } returns OLD_TOKEN
150
+ every { authToken } returns OLD_ACCESS_TOKEN
151
+ every { refreshToken } returns REFRESH_TOKEN
149
152
every { loginServer } returns " https://login.salesforce.com"
150
153
}
151
154
val mockClientManager = mockk<ClientManager >(relaxed = true ) {
@@ -157,22 +160,22 @@ class ClientManagerMockTest {
157
160
val authTokenProvider = ClientManager .AccMgrAuthTokenProvider (
158
161
mockClientManager,
159
162
" https://not.login.salesforce.com" ,
160
- OLD_TOKEN ,
161
- " " ,
163
+ OLD_ACCESS_TOKEN ,
164
+ REFRESH_TOKEN ,
162
165
)
163
166
164
167
val result = authTokenProvider.getNewAuthToken()
165
- Assert .assertEquals(REFRESHED_TOKEN , result)
168
+ Assert .assertEquals(REFRESHED_ACCESS_TOKEN , result)
166
169
167
170
verify(exactly = 0 ) {
168
171
mockSDKManager.logout(any(), any(), any(), any())
169
172
}
170
173
verify(exactly = 1 ) {
171
- mockClientManager.invalidateToken(OLD_TOKEN )
174
+ mockClientManager.invalidateToken(OLD_ACCESS_TOKEN )
172
175
mockUserAccountManager.updateAccount(mockAccount, capture(userSlot))
173
176
mockAppContext.sendBroadcast(capture(broadcastIntentSlot))
174
177
}
175
- Assert .assertEquals(REFRESHED_TOKEN , userSlot.captured.authToken)
178
+ Assert .assertEquals(REFRESHED_ACCESS_TOKEN , userSlot.captured.authToken)
176
179
Assert .assertEquals(ClientManager .INSTANCE_URL_UPDATE_INTENT , broadcastIntentSlot.captured.action)
177
180
}
178
181
@@ -184,8 +187,8 @@ class ClientManagerMockTest {
184
187
val authTokenProvider = ClientManager .AccMgrAuthTokenProvider (
185
188
mockClientManager,
186
189
" " ,
187
- OLD_TOKEN ,
188
- " " ,
190
+ OLD_ACCESS_TOKEN ,
191
+ REFRESH_TOKEN ,
189
192
)
190
193
191
194
Assert .assertNull(authTokenProvider.getNewAuthToken())
@@ -201,17 +204,45 @@ class ClientManagerMockTest {
201
204
val mockAccount = mockk<Account >(relaxed = true )
202
205
val mockUser = mockk<UserAccount >(relaxed = true ) {
203
206
every { authToken } returns " not-matching"
207
+ every { refreshToken } returns " not-matching"
204
208
}
205
209
val mockClientManager = mockk<ClientManager >(relaxed = true ) {
206
- every { accounts } returns emptyArray< Account >( )
210
+ every { accounts } returns arrayOf(mockAccount )
207
211
}
208
212
every { mockUserAccountManager.currentUser } returns mockUser
209
213
every { mockUserAccountManager.buildUserAccount(mockAccount) } returns mockUser
210
214
val authTokenProvider = ClientManager .AccMgrAuthTokenProvider (
211
215
mockClientManager,
212
216
" " ,
213
- OLD_TOKEN ,
217
+ OLD_ACCESS_TOKEN ,
218
+ REFRESH_TOKEN ,
219
+ )
220
+
221
+ Assert .assertNull(authTokenProvider.getNewAuthToken())
222
+ verify(exactly = 0 ) {
223
+ mockSDKManager.logout(any(), any(), any(), any())
224
+ mockClientManager.invalidateToken(any())
225
+ mockAppContext.sendBroadcast(any())
226
+ }
227
+ }
228
+
229
+ @Test
230
+ fun testGetNewAuthToken_NullAuthToken () {
231
+ val mockAccount = mockk<Account >(relaxed = true )
232
+ val mockUser = mockk<UserAccount >(relaxed = true ) {
233
+ every { authToken } returns " not-matching"
234
+ every { refreshToken } returns " not-matching"
235
+ }
236
+ val mockClientManager = mockk<ClientManager >(relaxed = true ) {
237
+ every { accounts } returns arrayOf(mockAccount)
238
+ }
239
+ every { mockUserAccountManager.currentUser } returns mockUser
240
+ every { mockUserAccountManager.buildUserAccount(mockAccount) } returns mockUser
241
+ val authTokenProvider = ClientManager .AccMgrAuthTokenProvider (
242
+ mockClientManager,
214
243
" " ,
244
+ null ,
245
+ REFRESH_TOKEN ,
215
246
)
216
247
217
248
Assert .assertNull(authTokenProvider.getNewAuthToken())
@@ -229,11 +260,13 @@ class ClientManagerMockTest {
229
260
val mockAccount = mockk<Account >(relaxed = true )
230
261
val mockAccount2 = mockk<Account >(relaxed = true )
231
262
val mockUser = mockk<UserAccount >(relaxed = true ) {
232
- every { authToken } returns OLD_TOKEN
263
+ every { authToken } returns OLD_ACCESS_TOKEN
264
+ every { refreshToken } returns REFRESH_TOKEN
233
265
every { loginServer } returns " https://login.salesforce.com"
234
266
}
235
267
val mockUser2 = mockk<UserAccount >(relaxed = true ) {
236
268
every { authToken } returns user2Token
269
+ every { refreshToken } returns " user2Refresh"
237
270
every { loginServer } returns " https://login.salesforce.com"
238
271
}
239
272
val mockClientManager = mockk<ClientManager >(relaxed = true ) {
@@ -247,21 +280,21 @@ class ClientManagerMockTest {
247
280
val authTokenProvider = ClientManager .AccMgrAuthTokenProvider (
248
281
mockClientManager,
249
282
" https://login.salesforce.com" ,
250
- OLD_TOKEN ,
251
- " " ,
283
+ OLD_ACCESS_TOKEN ,
284
+ REFRESH_TOKEN ,
252
285
)
253
286
254
- Assert .assertEquals(REFRESHED_TOKEN , authTokenProvider.getNewAuthToken())
287
+ Assert .assertEquals(REFRESHED_ACCESS_TOKEN , authTokenProvider.getNewAuthToken())
255
288
verify(exactly = 0 ) {
256
289
mockClientManager.invalidateToken(user2Token)
257
290
mockSDKManager.logout(any(), any(), any(), any())
258
291
mockUserAccountManager.updateAccount(mockAccount2, any())
259
292
}
260
293
verify(exactly = 1 ) {
261
- mockClientManager.invalidateToken(OLD_TOKEN )
294
+ mockClientManager.invalidateToken(OLD_ACCESS_TOKEN )
262
295
mockUserAccountManager.updateAccount(mockAccount, capture(userSlot))
263
296
}
264
- Assert .assertEquals(REFRESHED_TOKEN , userSlot.captured.authToken)
297
+ Assert .assertEquals(REFRESHED_ACCESS_TOKEN , userSlot.captured.authToken)
265
298
}
266
299
267
300
@Test
@@ -278,7 +311,8 @@ class ClientManagerMockTest {
278
311
val broadcastIntentSlot = slot<Intent >()
279
312
val mockAccount = mockk<Account >(relaxed = true )
280
313
val mockUser = mockk<UserAccount >(relaxed = true ) {
281
- every { authToken } returns OLD_TOKEN
314
+ every { authToken } returns OLD_ACCESS_TOKEN
315
+ every { refreshToken } returns REFRESH_TOKEN
282
316
every { loginServer } returns " https://login.salesforce.com"
283
317
}
284
318
@@ -291,16 +325,16 @@ class ClientManagerMockTest {
291
325
val authTokenProvider = ClientManager .AccMgrAuthTokenProvider (
292
326
clientManagerSpy,
293
327
" https://login.salesforce.com" ,
294
- OLD_TOKEN ,
295
- " " ,
328
+ OLD_ACCESS_TOKEN ,
329
+ REFRESH_TOKEN ,
296
330
)
297
331
298
332
Assert .assertNull(authTokenProvider.getNewAuthToken())
299
333
verify(exactly = 0 ) {
300
334
mockUserAccountManager.updateAccount(any(), any())
301
335
}
302
336
verify(exactly = 1 ) {
303
- clientManagerSpy.invalidateToken(OLD_TOKEN )
337
+ clientManagerSpy.invalidateToken(OLD_ACCESS_TOKEN )
304
338
mockSDKManager.logout(capture(accountSlot), any(), any(), capture(reasonSlot))
305
339
mockAppContext.sendBroadcast(capture(broadcastIntentSlot))
306
340
}
@@ -321,11 +355,13 @@ class ClientManagerMockTest {
321
355
val mockAccount = mockk<Account >(relaxed = true )
322
356
val mockAccount2 = mockk<Account >(relaxed = true )
323
357
val mockUser = mockk<UserAccount >(relaxed = true ) {
324
- every { authToken } returns OLD_TOKEN
358
+ every { authToken } returns OLD_ACCESS_TOKEN
359
+ every { refreshToken } returns REFRESH_TOKEN
325
360
every { loginServer } returns " https://login.salesforce.com"
326
361
}
327
362
val mockUser2 = mockk<UserAccount >(relaxed = true ) {
328
363
every { authToken } returns user2Token
364
+ every { refreshToken } returns " user2Refresh"
329
365
every { loginServer } returns " https://login.salesforce.com"
330
366
}
331
367
val mockClientManager = mockk<ClientManager >(relaxed = true ) {
@@ -341,21 +377,21 @@ class ClientManagerMockTest {
341
377
val authTokenProvider = ClientManager .AccMgrAuthTokenProvider (
342
378
mockClientManager,
343
379
" https://login.salesforce.com" ,
344
- OLD_TOKEN ,
345
- " " ,
380
+ OLD_ACCESS_TOKEN ,
381
+ REFRESH_TOKEN ,
346
382
)
347
383
348
- Assert .assertEquals(REFRESHED_TOKEN , authTokenProvider.getNewAuthToken())
384
+ Assert .assertEquals(REFRESHED_ACCESS_TOKEN , authTokenProvider.getNewAuthToken())
349
385
verify(exactly = 0 ) {
350
386
mockClientManager.invalidateToken(user2Token)
351
387
mockSDKManager.logout(any(), any(), any(), any())
352
388
mockUserAccountManager.updateAccount(mockAccount2, any())
353
389
}
354
390
verify(exactly = 1 ) {
355
- mockClientManager.invalidateToken(OLD_TOKEN )
391
+ mockClientManager.invalidateToken(OLD_ACCESS_TOKEN )
356
392
mockUserAccountManager.updateAccount(mockAccount, capture(userSlot))
357
393
}
358
- Assert .assertEquals(REFRESHED_TOKEN , userSlot.captured.authToken)
394
+ Assert .assertEquals(REFRESHED_ACCESS_TOKEN , userSlot.captured.authToken)
359
395
}
360
396
361
397
/*
@@ -379,11 +415,13 @@ class ClientManagerMockTest {
379
415
val mockAccount = mockk<Account >(relaxed = true )
380
416
val mockAccount2 = mockk<Account >(relaxed = true )
381
417
val mockUser = mockk<UserAccount >(relaxed = true ) {
382
- every { authToken } returns OLD_TOKEN
418
+ every { authToken } returns OLD_ACCESS_TOKEN
419
+ every { refreshToken } returns REFRESH_TOKEN
383
420
every { loginServer } returns " https://login.salesforce.com"
384
421
}
385
422
val mockUser2 = mockk<UserAccount >(relaxed = true ) {
386
423
every { authToken } returns user2Token
424
+ every { refreshToken } returns " user2Refresh"
387
425
every { loginServer } returns " https://login.salesforce.com"
388
426
}
389
427
val mockClientManager = mockk<ClientManager >(relaxed = true ) {
@@ -402,8 +440,8 @@ class ClientManagerMockTest {
402
440
val authTokenProvider = ClientManager .AccMgrAuthTokenProvider (
403
441
clientManagerSpy,
404
442
" https://login.salesforce.com" ,
405
- OLD_TOKEN ,
406
- " " ,
443
+ OLD_ACCESS_TOKEN ,
444
+ REFRESH_TOKEN ,
407
445
)
408
446
409
447
Assert .assertNull(authTokenProvider.getNewAuthToken())
@@ -416,7 +454,7 @@ class ClientManagerMockTest {
416
454
}
417
455
418
456
verify(exactly = 1 ) {
419
- clientManagerSpy.invalidateToken(OLD_TOKEN )
457
+ clientManagerSpy.invalidateToken(OLD_ACCESS_TOKEN )
420
458
mockSDKManager.logout(capture(accountSlot), any(), any(), capture(reasonSlot))
421
459
mockAppContext.sendBroadcast(capture(broadcastIntentSlot))
422
460
}
0 commit comments