Skip to content

Commit d967f53

Browse files
committed
Add test with capabilities only
1 parent 896ab96 commit d967f53

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

msal4j-sdk/src/test/java/com/microsoft/aad/msal4j/ManagedIdentityTests.java

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,46 @@ void managedIdentityTest_WithClaims(ManagedIdentitySourceType source, String end
685685
verify(httpClientMock, times(2)).send(any());
686686
}
687687

688+
@ParameterizedTest
689+
@MethodSource("com.microsoft.aad.msal4j.ManagedIdentityTestDataProvider#createDataError")
690+
void managedIdentityTest_WithCapabilitiesOnly(ManagedIdentitySourceType source, String endpoint) throws Exception {
691+
IEnvironmentVariables environmentVariables = new EnvironmentVariablesHelper(source, endpoint);
692+
ManagedIdentityApplication.setEnvironmentVariables(environmentVariables);
693+
DefaultHttpClient httpClientMock = mock(DefaultHttpClient.class);
694+
if (source == SERVICE_FABRIC) {
695+
ServiceFabricManagedIdentitySource.setHttpClient(httpClientMock);
696+
}
697+
698+
when(httpClientMock.send(expectedRequest(source, resource, false, true, null))).thenReturn(expectedResponse(200, getSuccessfulResponse(resource)));
699+
700+
miApp = ManagedIdentityApplication
701+
.builder(ManagedIdentityId.systemAssigned())
702+
.httpClient(httpClientMock)
703+
.clientCapabilities(singletonList("cp1"))
704+
.build();
705+
706+
// Clear caching to avoid cross test pollution.
707+
miApp.tokenCache().accessTokens.clear();
708+
709+
// First call, get the token from the identity provider.
710+
IAuthenticationResult result = miApp.acquireTokenForManagedIdentity(
711+
ManagedIdentityParameters.builder(resource)
712+
.build()).get();
713+
714+
assertNotNull(result.accessToken());
715+
assertEquals(TokenSource.IDENTITY_PROVIDER, result.metadata().tokenSource());
716+
717+
// Second call, get the token from the cache without passing the claims.
718+
result = miApp.acquireTokenForManagedIdentity(
719+
ManagedIdentityParameters.builder(resource)
720+
.build()).get();
721+
722+
assertNotNull(result.accessToken());
723+
assertEquals(TokenSource.CACHE, result.metadata().tokenSource());
724+
725+
verify(httpClientMock, times(2)).send(any());
726+
}
727+
688728
@ParameterizedTest
689729
@MethodSource("com.microsoft.aad.msal4j.ManagedIdentityTestDataProvider#createDataError")
690730
void managedIdentity_ClaimsAndCapabilities(ManagedIdentitySourceType source, String endpoint) throws Exception {

0 commit comments

Comments
 (0)