Skip to content

Commit db6fad5

Browse files
committed
update tests
1 parent 98ef236 commit db6fad5

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

msal4j-sdk/src/integrationtest/java/com.microsoft.aad.msal4j/ConfidentialClientApplicationUnitT.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -318,14 +318,15 @@ public void validateAppTokenProviderAsync() throws Exception{
318318
IClientCredential iClientCredential = ClientCredentialFactory.createFromClientAssertion(
319319
clientAssertion.assertion());
320320

321+
Long refreshInSeconds = new Date().getTime() / 1000 + + 800000;
321322
//builds client with AppTokenProvider
322323
ConfidentialClientApplication cca = ConfidentialClientApplication.
323324
builder(TestConfiguration.AAD_CLIENT_ID, iClientCredential)
324325
.appTokenProvider((parameters) -> {
325326
Assert.assertNotNull(parameters.scopes);
326327
Assert.assertNotNull(parameters.correlationId);
327328
Assert.assertNotNull(parameters.tenantId);
328-
return getAppTokenProviderResult("/default");
329+
return getAppTokenProviderResult("/default", refreshInSeconds);
329330
})
330331
.build();
331332

@@ -338,6 +339,10 @@ public void validateAppTokenProviderAsync() throws Exception{
338339
Assert.assertNotNull(result1.accessToken());
339340

340341
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());
341346

342347
//Acquire token from cache
343348

@@ -356,7 +361,7 @@ public void validateAppTokenProviderAsync() throws Exception{
356361
Assert.assertNotNull(parameters.scopes);
357362
Assert.assertNotNull(parameters.correlationId);
358363
Assert.assertNotNull(parameters.tenantId);
359-
return getAppTokenProviderResult("/newScope");
364+
return getAppTokenProviderResult("/newScope", 0L);
360365
})
361366
.build();
362367

@@ -369,17 +374,20 @@ public void validateAppTokenProviderAsync() throws Exception{
369374

370375
Assert.assertNotEquals(result2.accessToken(), result3.accessToken());
371376
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());
373380
}
374381

375-
private CompletableFuture<TokenProviderResult> getAppTokenProviderResult(String differentScopesForAt)
382+
private CompletableFuture<TokenProviderResult> getAppTokenProviderResult(String differentScopesForAt,
383+
long refreshInSeconds)
376384
{
377385
long currTimestampSec = new Date().getTime() / 1000;
378386
TokenProviderResult token = new TokenProviderResult();
379387
token.setAccessToken(TestConstants.DEFAULT_ACCESS_TOKEN + differentScopesForAt); //Used to indicate that there is a new access token for a different set of scopes
380388
token.setTenantId("tenantId");
381389
token.setExpiresInSeconds(currTimestampSec + 1000000);
382-
token.setRefreshInSeconds(currTimestampSec + 800000);
390+
token.setRefreshInSeconds(refreshInSeconds);
383391

384392
return CompletableFuture.completedFuture(token);
385393
}

0 commit comments

Comments
 (0)