Skip to content

Commit 3f2ca5f

Browse files
committed
Better usage of helpers in integration tests
1 parent 072f042 commit 3f2ca5f

12 files changed

Lines changed: 169 additions & 147 deletions

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

Lines changed: 21 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ void acquireTokenSilent_OrganizationAuthority_TokenRefreshed() throws Exception
2929

3030
IAccount account = pca.getAccounts().join().iterator().next();
3131
IAuthenticationResult result = acquireTokenSilently(pca, account, TestConstants.GRAPH_DEFAULT_SCOPE, false);
32-
assertResultNotNull(result);
32+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(result);
3333
}
3434

3535
@Test
@@ -47,7 +47,7 @@ void acquireTokenSilent_LabAuthority_TokenNotRefreshed() throws Exception {
4747

4848
IAccount account = pca.getAccounts().join().iterator().next();
4949
IAuthenticationResult acquireSilentResult = acquireTokenSilently(pca, account, TestConstants.GRAPH_DEFAULT_SCOPE, false);
50-
assertResultNotNull(result);
50+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(result);
5151

5252
// Check that access and id tokens are coming from cache
5353
assertEquals(result.accessToken(), acquireSilentResult.accessToken());
@@ -67,14 +67,14 @@ void acquireTokenSilent_ForceRefresh() throws Exception {
6767
build();
6868

6969
IAuthenticationResult result = acquireTokenUsernamePassword(user, pca, TestConstants.GRAPH_DEFAULT_SCOPE);
70-
assertResultNotNull(result);
70+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(result);
7171

7272
IAccount account = pca.getAccounts().join().iterator().next();
7373
IAuthenticationResult resultAfterRefresh = acquireTokenSilently(pca, account, TestConstants.GRAPH_DEFAULT_SCOPE, true);
74-
assertResultNotNull(resultAfterRefresh);
74+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(resultAfterRefresh);
7575

7676
// Check that new refresh and id tokens are being returned
77-
assertTokensAreNotEqual(result, resultAfterRefresh);
77+
IntegrationTestHelper.assertTokensAreNotEqual(result, resultAfterRefresh);
7878
assertEquals(TokenSource.IDENTITY_PROVIDER, result.metadata().tokenSource());
7979
assertEquals(TokenSource.IDENTITY_PROVIDER, resultAfterRefresh.metadata().tokenSource());
8080
}
@@ -154,11 +154,11 @@ void acquireTokenSilent_WithRefreshOn() throws Exception {
154154
build();
155155

156156
IAuthenticationResult resultOriginal = acquireTokenUsernamePassword(user, pca, TestConstants.GRAPH_DEFAULT_SCOPE);
157-
assertResultNotNull(resultOriginal);
157+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(resultOriginal);
158158

159159
IAuthenticationResult resultSilent = acquireTokenSilently(pca, resultOriginal.account(), TestConstants.GRAPH_DEFAULT_SCOPE, false);
160160
assertNotNull(resultSilent);
161-
assertTokensAreEqual(resultOriginal, resultSilent);
161+
IntegrationTestHelper.assertTokensAreEqual(resultOriginal, resultSilent);
162162

163163
//When this test was made, token responses did not contain the refresh_in field needed for an end-to-end test.
164164
//In order to test silent flow behavior as though the service returned refresh_in, we manually change a cached
@@ -174,7 +174,7 @@ void acquireTokenSilent_WithRefreshOn() throws Exception {
174174
//Current time is before refreshOn, so token should not have been refreshed
175175
assertNotNull(resultSilentWithRefreshOn);
176176
assertEquals(pca.tokenCache.accessTokens.get(key).refreshOn(), Long.toString(currTimestampSec + 60));
177-
assertTokensAreEqual(resultSilent, resultSilentWithRefreshOn);
177+
IntegrationTestHelper.assertTokensAreEqual(resultSilent, resultSilentWithRefreshOn);
178178

179179
token = pca.tokenCache.accessTokens.get(key);
180180
token.refreshOn(Long.toString(currTimestampSec - 60));
@@ -183,7 +183,7 @@ void acquireTokenSilent_WithRefreshOn() throws Exception {
183183
resultSilentWithRefreshOn = acquireTokenSilently(pca, resultOriginal.account(), TestConstants.GRAPH_DEFAULT_SCOPE, false);
184184
//Current time is after refreshOn, so token should be refreshed
185185
assertNotNull(resultSilentWithRefreshOn);
186-
assertTokensAreNotEqual(resultSilent, resultSilentWithRefreshOn);
186+
IntegrationTestHelper.assertTokensAreNotEqual(resultSilent, resultSilentWithRefreshOn);
187187
assertEquals(TokenSource.CACHE, resultSilent.metadata().tokenSource());
188188
assertEquals(TokenSource.IDENTITY_PROVIDER, resultSilentWithRefreshOn.metadata().tokenSource());
189189
}
@@ -203,19 +203,19 @@ void acquireTokenSilent_TenantAsParameter() throws Exception {
203203
user.getUpn(),
204204
user.getPassword().toCharArray())
205205
.build()).get();
206-
assertResultNotNull(result);
206+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(result);
207207

208208
IAccount account = pca.getAccounts().join().iterator().next();
209209
IAuthenticationResult silentResult = acquireTokenSilently(pca, account, TestConstants.GRAPH_DEFAULT_SCOPE, false);
210-
assertResultNotNull(silentResult);
211-
assertTokensAreEqual(result, silentResult);
210+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(silentResult);
211+
IntegrationTestHelper.assertTokensAreEqual(result, silentResult);
212212

213213
IAuthenticationResult resultWithTenantParam = pca.acquireTokenSilently(SilentParameters.
214214
builder(Collections.singleton(TestConstants.GRAPH_DEFAULT_SCOPE), account).
215215
tenant(user.getTenantId()).
216216
build()).get();
217-
assertResultNotNull(resultWithTenantParam);
218-
assertTokensAreNotEqual(result, resultWithTenantParam);
217+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(resultWithTenantParam);
218+
IntegrationTestHelper.assertTokensAreNotEqual(result, resultWithTenantParam);
219219
}
220220

221221
@Test
@@ -230,11 +230,11 @@ void acquireTokenSilent_emptyStringScope() throws Exception {
230230

231231
String emptyScope = StringHelper.EMPTY_STRING;
232232
IAuthenticationResult result = acquireTokenUsernamePassword(user, pca, emptyScope);
233-
assertResultNotNull(result);
233+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(result);
234234

235235
IAccount account = pca.getAccounts().join().iterator().next();
236236
IAuthenticationResult silentResult = acquireTokenSilently(pca, account, emptyScope, false);
237-
assertResultNotNull(silentResult);
237+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(silentResult);
238238
assertEquals(result.accessToken(), silentResult.accessToken());
239239
}
240240

@@ -255,15 +255,15 @@ void acquireTokenSilent_emptyScopeSet() throws Exception {
255255
user.getPassword().toCharArray())
256256
.build())
257257
.get();
258-
assertResultNotNull(result);
258+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(result);
259259

260260
IAccount account = pca.getAccounts().join().iterator().next();
261261
IAuthenticationResult silentResult = pca.acquireTokenSilently(SilentParameters.
262262
builder(scopes, account)
263263
.build())
264264
.get();
265265

266-
assertResultNotNull(silentResult);
266+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(silentResult);
267267
assertEquals(result.accessToken(), silentResult.accessToken());
268268
}
269269

@@ -285,14 +285,14 @@ public void acquireTokenSilent_ClaimsForceRefresh() throws Exception {
285285
.build())
286286
.get();
287287

288-
assertResultNotNull(result);
288+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(result);
289289

290290
IAuthenticationResult silentResultWithoutClaims = pca.acquireTokenSilently(SilentParameters.
291291
builder(scopes, result.account())
292292
.build())
293293
.get();
294294

295-
assertResultNotNull(silentResultWithoutClaims);
295+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(silentResultWithoutClaims);
296296
assertEquals(result.accessToken(), silentResultWithoutClaims.accessToken());
297297

298298
//If claims are added to a silent request, it should trigger the refresh flow and return a new token
@@ -305,7 +305,7 @@ public void acquireTokenSilent_ClaimsForceRefresh() throws Exception {
305305
.build())
306306
.get();
307307

308-
assertResultNotNull(silentResultWithClaims);
308+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(silentResultWithClaims);
309309
assertNotEquals(result.accessToken(), silentResultWithClaims.accessToken());
310310
}
311311

@@ -376,19 +376,4 @@ private IAuthenticationResult acquireTokenUsernamePassword(UserConfig user, IPub
376376
.get();
377377
}
378378

379-
private void assertResultNotNull(IAuthenticationResult result) {
380-
assertNotNull(result);
381-
assertNotNull(result.accessToken());
382-
assertNotNull(result.idToken());
383-
}
384-
385-
private void assertTokensAreNotEqual(IAuthenticationResult result, IAuthenticationResult secondResult) {
386-
assertNotEquals(result.accessToken(), secondResult.accessToken());
387-
assertNotEquals(result.idToken(), secondResult.idToken());
388-
}
389-
390-
private void assertTokensAreEqual(IAuthenticationResult result, IAuthenticationResult secondResult) {
391-
assertEquals(result.accessToken(), secondResult.accessToken());
392-
assertEquals(result.idToken(), secondResult.idToken());
393-
}
394379
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ public IHttpResponse send(HttpRequest httpRequest) throws Exception {
4141
private HttpRequestBase buildApacheRequestFromMsalRequest(HttpRequest httpRequest) {
4242

4343
if (httpRequest.httpMethod() == HttpMethod.GET) {
44-
return builGetRequest(httpRequest);
44+
return buildGetRequest(httpRequest);
4545
} else if (httpRequest.httpMethod() == HttpMethod.POST) {
4646
return buildPostRequest(httpRequest);
4747
} else {
4848
throw new IllegalArgumentException("HttpRequest method should be either GET or POST");
4949
}
5050
}
5151

52-
private HttpGet builGetRequest(HttpRequest httpRequest) {
52+
private HttpGet buildGetRequest(HttpRequest httpRequest) {
5353
HttpGet httpGet = new HttpGet(httpRequest.url().toString());
5454

5555
for (Map.Entry<String, String> entry : httpRequest.headers().entrySet()) {

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

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
import org.junit.jupiter.api.Test;
99
import org.junit.jupiter.api.TestInstance;
1010
import static org.junit.jupiter.api.Assertions.assertEquals;
11-
import static org.junit.jupiter.api.Assertions.assertNotNull;
1211

13-
import java.util.Collections;
1412
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
1513
class AzureEnvironmentIT {
1614

@@ -19,21 +17,12 @@ void acquireTokenWithUsernamePassword_AzureGovernment() throws Exception {
1917
AppConfig app = LabResponseHelper.getAppConfig(APP_ARLINGTON);
2018
UserConfig user = LabResponseHelper.getUserConfig(USER_ARLINGTON);
2119

22-
PublicClientApplication pca = PublicClientApplication.builder(
23-
app.getAppId()).
24-
authority(app.getAuthority() + "organizations/").
25-
build();
20+
PublicClientApplication pca = IntegrationTestHelper.createPublicApp(
21+
app.getAppId(), app.getAuthority() + "organizations/");
2622

27-
IAuthenticationResult result = pca.acquireToken(UserNamePasswordParameters
28-
.builder(Collections.singleton(TestConstants.USER_READ_SCOPE),
29-
user.getUpn(),
30-
user.getPassword().toCharArray())
31-
.build())
32-
.get();
33-
34-
assertNotNull(result);
35-
assertNotNull(result.accessToken());
36-
assertNotNull(result.idToken());
23+
IAuthenticationResult result = IntegrationTestHelper.acquireTokenByRopc(
24+
pca, user, TestConstants.USER_READ_SCOPE);
3725

26+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(result);
3827
assertEquals(user.getUpn(), result.account().username()); }
3928
}

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

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,12 @@
99
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
1010
class CachePersistenceIT {
1111

12-
static class TokenPersistence implements ITokenCacheAccessAspect {
13-
String data;
14-
15-
TokenPersistence(String data) {
16-
this.data = data;
17-
}
18-
19-
@Override
20-
public void beforeCacheAccess(ITokenCacheAccessContext iTokenCacheAccessContext) {
21-
iTokenCacheAccessContext.tokenCache().deserialize(data);
22-
}
23-
24-
@Override
25-
public void afterCacheAccess(ITokenCacheAccessContext iTokenCacheAccessContext) {
26-
data = iTokenCacheAccessContext.tokenCache().serialize();
27-
}
28-
}
29-
3012
@Test
3113
void cacheDeserializationSerializationTest() {
3214
String dataToInitCache = TestHelper.readResource(this.getClass(), "/cache_data/serialized_cache.json");
3315
dataToInitCache = dataToInitCache.replace("<idToken_placeholder>", TestHelper.ENCODED_JWT);
3416

35-
ITokenCacheAccessAspect persistenceAspect = new TokenPersistence(dataToInitCache);
17+
ITokenCacheAccessAspect persistenceAspect = new TestTokenCachePersistence(dataToInitCache);
3618

3719
PublicClientApplication app = PublicClientApplication.builder("my_client_id")
3820
.setTokenCacheAccessAspect(persistenceAspect).build();

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

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import java.util.concurrent.ExecutionException;
1313

1414
import static org.junit.jupiter.api.Assertions.assertEquals;
15-
import static org.junit.jupiter.api.Assertions.assertNotNull;
1615
import static org.junit.jupiter.api.Assertions.assertThrows;
1716
import static org.junit.jupiter.api.Assertions.assertTrue;
1817

@@ -50,16 +49,10 @@ private void assertAcquireTokenCommon(UserConfig user, String appId, IHttpClient
5049
httpClient(httpClient).
5150
build();
5251

53-
IAuthenticationResult result = pca.acquireToken(UserNamePasswordParameters.
54-
builder(Collections.singleton(TestConstants.GRAPH_DEFAULT_SCOPE),
55-
user.getUpn(),
56-
user.getPassword().toCharArray())
57-
.build())
58-
.get();
52+
IAuthenticationResult result = IntegrationTestHelper.acquireTokenByRopc(
53+
pca, user, TestConstants.GRAPH_DEFAULT_SCOPE);
5954

60-
assertNotNull(result);
61-
assertNotNull(result.accessToken());
62-
assertNotNull(result.idToken());
55+
IntegrationTestHelper.assertAccessAndIdTokensNotNull(result);
6356
assertEquals(user.getUpn(), result.account().username());
6457
}
6558

0 commit comments

Comments
 (0)