@@ -318,14 +318,15 @@ public void validateAppTokenProviderAsync() throws Exception{
318
318
IClientCredential iClientCredential = ClientCredentialFactory .createFromClientAssertion (
319
319
clientAssertion .assertion ());
320
320
321
+ Long refreshInSeconds = new Date ().getTime () / 1000 + + 800000 ;
321
322
//builds client with AppTokenProvider
322
323
ConfidentialClientApplication cca = ConfidentialClientApplication .
323
324
builder (TestConfiguration .AAD_CLIENT_ID , iClientCredential )
324
325
.appTokenProvider ((parameters ) -> {
325
326
Assert .assertNotNull (parameters .scopes );
326
327
Assert .assertNotNull (parameters .correlationId );
327
328
Assert .assertNotNull (parameters .tenantId );
328
- return getAppTokenProviderResult ("/default" );
329
+ return getAppTokenProviderResult ("/default" , refreshInSeconds );
329
330
})
330
331
.build ();
331
332
@@ -338,6 +339,10 @@ public void validateAppTokenProviderAsync() throws Exception{
338
339
Assert .assertNotNull (result1 .accessToken ());
339
340
340
341
Assert .assertEquals (cca .tokenCache .accessTokens .size (), 1 );
342
+ //check that refreshOn is set correctly when provided by an app developer
343
+ Assert .assertNotNull (cca .tokenCache .accessTokens .values ().iterator ().next ().refreshOn ());
344
+ Assert .assertEquals (cca .tokenCache .accessTokens .values ().iterator ().next ().refreshOn (), refreshInSeconds .toString ());
345
+ System .out .println (cca .tokenCache .accessTokens .values ().iterator ().next ().refreshOn ());
341
346
342
347
//Acquire token from cache
343
348
@@ -356,7 +361,7 @@ public void validateAppTokenProviderAsync() throws Exception{
356
361
Assert .assertNotNull (parameters .scopes );
357
362
Assert .assertNotNull (parameters .correlationId );
358
363
Assert .assertNotNull (parameters .tenantId );
359
- return getAppTokenProviderResult ("/newScope" );
364
+ return getAppTokenProviderResult ("/newScope" , 0L );
360
365
})
361
366
.build ();
362
367
@@ -369,17 +374,20 @@ public void validateAppTokenProviderAsync() throws Exception{
369
374
370
375
Assert .assertNotEquals (result2 .accessToken (), result3 .accessToken ());
371
376
Assert .assertEquals (cca .tokenCache .accessTokens .size (), 1 );
372
-
377
+ //check that refreshOn is set correctly when a value is not provided by an app developer
378
+ Assert .assertNotNull (cca .tokenCache .accessTokens .values ().iterator ().next ().refreshOn ());
379
+ System .out .println (cca .tokenCache .accessTokens .values ().iterator ().next ().refreshOn ());
373
380
}
374
381
375
- private CompletableFuture <TokenProviderResult > getAppTokenProviderResult (String differentScopesForAt )
382
+ private CompletableFuture <TokenProviderResult > getAppTokenProviderResult (String differentScopesForAt ,
383
+ long refreshInSeconds )
376
384
{
377
385
long currTimestampSec = new Date ().getTime () / 1000 ;
378
386
TokenProviderResult token = new TokenProviderResult ();
379
387
token .setAccessToken (TestConstants .DEFAULT_ACCESS_TOKEN + differentScopesForAt ); //Used to indicate that there is a new access token for a different set of scopes
380
388
token .setTenantId ("tenantId" );
381
389
token .setExpiresInSeconds (currTimestampSec + 1000000 );
382
- token .setRefreshInSeconds (currTimestampSec + 800000 );
390
+ token .setRefreshInSeconds (refreshInSeconds );
383
391
384
392
return CompletableFuture .completedFuture (token );
385
393
}
0 commit comments