33
44package com .microsoft .aad .msal4j ;
55
6- import labapi .*;
6+ import com . microsoft . aad . msal4j . labapi2 .*;
77import org .junit .jupiter .api .AfterEach ;
8- import org .junit .jupiter .api .BeforeAll ;
98import org .junit .jupiter .api .BeforeEach ;
109import org .junit .jupiter .api .condition .DisabledIfSystemProperty ;
1110import org .slf4j .Logger ;
1211import org .slf4j .LoggerFactory ;
13- import org .junit .jupiter .api .Test ;
1412import org .junit .jupiter .api .TestInstance ;
1513import org .junit .jupiter .params .ParameterizedTest ;
1614import org .junit .jupiter .params .provider .MethodSource ;
2119import java .net .URI ;
2220import java .net .URL ;
2321import java .util .Collections ;
24- import java .util .HashMap ;
25- import java .util .Map ;
2622import java .util .concurrent .ExecutionException ;
2723
2824@ TestInstance (TestInstance .Lifecycle .PER_CLASS )
@@ -31,12 +27,6 @@ class AcquireTokenInteractiveIT extends SeleniumTest {
3127
3228 private Config cfg ;
3329
34-
35- @ BeforeAll
36- public void setupUserProvider () {
37- setUpLapUserProvider ();
38- }
39-
4030 @ AfterEach
4131 public void stopBrowser () {
4232 cleanUp ();
@@ -52,43 +42,50 @@ public void startBrowser() {
5242 void acquireTokenInteractive_ManagedUser (String environment ) {
5343 cfg = new Config (environment );
5444
55- User user = labUserProvider .getDefaultUser (cfg .azureEnvironment );
56- assertAcquireTokenCommon (user , cfg .commonAuthority (), cfg .graphDefaultScope ());
45+ LabResponse labResponse = LabUserHelper .getDefaultUser (environment );
46+ LabUser user = labResponse .getUser ();
47+ assertAcquireTokenCommon (user , labResponse .getApp ().getAppId (), cfg .commonAuthority (), cfg .graphDefaultScope ());
5748 }
5849
59- @ Test ()
60- @ DisabledIfSystemProperty (named = "adfs.disabled" , matches = "true" )
61- void acquireTokenInteractive_ADFSv2019_OnPrem () {
62- User user = labUserProvider .getOnPremAdfsUser (FederationProvider .ADFS_2019 );
63- assertAcquireTokenCommon (user , TestConstants .ADFS_AUTHORITY , TestConstants .ADFS_SCOPE );
64- }
50+ // TODO: labapi2 doesn't have on-prem ADFS user configuration yet - will be pulled from MSAL.NET
51+ // @Test()
52+ // @DisabledIfSystemProperty(named = "adfs.disabled", matches = "true")
53+ // void acquireTokenInteractive_ADFSv2019_OnPrem() {
54+ // LabResponse labResponse = LabUserHelper.getOnPremAdfsUser(LabServiceParameters.FederationProvider.ADFS_V2019);
55+ // LabUser user = labResponse.getUser();
56+ // assertAcquireTokenCommon(user, TestConstants.ADFS_AUTHORITY, TestConstants.ADFS_SCOPE);
57+ // }
6558
6659 @ ParameterizedTest
6760 @ MethodSource ("com.microsoft.aad.msal4j.EnvironmentsProvider#createData" )
6861 @ DisabledIfSystemProperty (named = "adfs.disabled" , matches = "true" )
6962 void acquireTokenInteractive_ADFSv2019_Federated (String environment ) {
7063 cfg = new Config (environment );
7164
72- User user = labUserProvider .getFederatedAdfsUser (cfg .azureEnvironment , FederationProvider .ADFS_2019 );
73- assertAcquireTokenCommon (user , cfg .organizationsAuthority (), cfg .graphDefaultScope ());
65+ LabResponse labResponse = LabUserHelper .getDefaultAdfsUser (environment );
66+ LabUser user = labResponse .getUser ();
67+ assertAcquireTokenCommon (user , labResponse .getApp ().getAppId (), cfg .organizationsAuthority (), cfg .graphDefaultScope ());
7468 }
7569
76- @ ParameterizedTest
77- @ MethodSource ("com.microsoft.aad.msal4j.EnvironmentsProvider#createData" )
78- @ DisabledIfSystemProperty (named = "adfs.disabled" , matches = "true" )
79- void acquireTokenInteractive_ADFSv4_Federated (String environment ) {
80- cfg = new Config (environment );
81-
82- User user = labUserProvider .getFederatedAdfsUser (cfg .azureEnvironment , FederationProvider .ADFS_4 );
83- assertAcquireTokenCommon (user , cfg .organizationsAuthority (), cfg .graphDefaultScope ());
84- }
70+ // TODO: labapi2 doesn't have ADFS v4 specific user helper yet - will be pulled from MSAL.NET
71+ // @ParameterizedTest
72+ // @MethodSource("com.microsoft.aad.msal4j.EnvironmentsProvider#createData")
73+ // @DisabledIfSystemProperty(named = "adfs.disabled", matches = "true")
74+ // void acquireTokenInteractive_ADFSv4_Federated(String environment) {
75+ // cfg = new Config(environment);
76+ //
77+ // LabResponse labResponse = LabUserHelper.getFederatedAdfsUser(environment, LabServiceParameters.FederationProvider.ADFS_V4);
78+ // LabUser user = labResponse.getUser();
79+ // assertAcquireTokenCommon(user, cfg.organizationsAuthority(), cfg.graphDefaultScope());
80+ // }
8581
8682 @ ParameterizedTest
8783 @ MethodSource ("com.microsoft.aad.msal4j.EnvironmentsProvider#createData" )
8884 void acquireTokenWithAuthorizationCode_B2C_Local (String environment ) {
8985 cfg = new Config (environment );
9086
91- User user = labUserProvider .getB2cUser (cfg .azureEnvironment , B2CProvider .LOCAL );
87+ LabResponse labResponse = LabUserHelper .getB2CLocalAccount ();
88+ LabUser user = labResponse .getUser ();
9289 assertAcquireTokenB2C (user , TestConstants .B2C_AUTHORITY );
9390 }
9491
@@ -97,64 +94,69 @@ void acquireTokenWithAuthorizationCode_B2C_Local(String environment) {
9794 void acquireTokenWithAuthorizationCode_B2C_LegacyFormat (String environment ) {
9895 cfg = new Config (environment );
9996
100- User user = labUserProvider .getB2cUser (cfg .azureEnvironment , B2CProvider .LOCAL );
97+ LabResponse labResponse = LabUserHelper .getB2CLocalAccount ();
98+ LabUser user = labResponse .getUser ();
10199 assertAcquireTokenB2C (user , TestConstants .B2C_AUTHORITY_LEGACY_FORMAT );
102100 }
103101
104- @ Test
105- void acquireTokenInteractive_ManagedUser_InstanceAware () {
106- cfg = new Config (AzureEnvironment .AZURE );
107-
108- User user = labUserProvider .getDefaultUser (AzureEnvironment .AZURE_US_GOVERNMENT );
109- assertAcquireTokenInstanceAware (user );
110- }
111-
112- @ Test
113- void acquireTokenInteractive_Ciam () {
114- User user = labUserProvider .getCiamCudUser ();
115-
116- Map <String , String > extraQueryParameters = new HashMap <>();
117-
118- PublicClientApplication pca ;
119- try {
120- pca = PublicClientApplication .builder (
121- user .getAppId ()).
122- authority ("https://" + user .getLabName () + ".ciamlogin.com/" )
123- .build ();
124- } catch (MalformedURLException ex ) {
125- throw new RuntimeException (ex .getMessage ());
126- }
127-
128- IAuthenticationResult result ;
129- try {
130- URI url = new URI ("http://localhost:8080" );
131-
132- SystemBrowserOptions browserOptions =
133- SystemBrowserOptions
134- .builder ()
135- .openBrowserAction (new SeleniumOpenBrowserAction (user , pca ))
136- .build ();
137-
138- InteractiveRequestParameters parameters = InteractiveRequestParameters
139- .builder (url )
140- .scopes (Collections .singleton (TestConstants .USER_READ_SCOPE ))
141- .extraQueryParameters (extraQueryParameters )
142- .systemBrowserOptions (browserOptions )
143- .build ();
144-
145- result = pca .acquireToken (parameters ).get ();
146-
147- } catch (Exception e ) {
148- LOG .error ("Error acquiring token with authCode: {}" , e .getMessage ());
149- throw new RuntimeException ("Error acquiring token with authCode: " + e .getMessage ());
150- }
151-
152- IntegrationTestHelper .assertAccessAndIdTokensNotNull (result );
153- assertEquals (user .getUpn (), result .account ().username ());
154- }
155-
156- private void assertAcquireTokenCommon (User user , String authority , String scope ) {
157- PublicClientApplication pca = IntegrationTestHelper .createPublicApp (user .getAppId (), authority );
102+ // TODO: labapi2 needs cross-cloud instance aware test configuration - will be pulled from MSAL.NET
103+ // @Test
104+ // void acquireTokenInteractive_ManagedUser_InstanceAware() {
105+ // cfg = new Config(AzureEnvironment.AZURE);
106+ //
107+ // LabResponse labResponse = LabUserHelper.getDefaultUser(AzureEnvironment.AZURE_US_GOVERNMENT);
108+ // LabUser user = labResponse.getUser();
109+ // assertAcquireTokenInstanceAware(user);
110+ // }
111+
112+ // TODO: labapi2 doesn't have CIAM CUD user configuration yet - will be pulled from MSAL.NET
113+ // @Test
114+ // void acquireTokenInteractive_Ciam() {
115+ // LabResponse labResponse = LabUserHelper.getCiamCudUser();
116+ // LabUser user = labResponse.getUser();
117+ //
118+ // Map<String, String> extraQueryParameters = new HashMap<>();
119+ //
120+ // PublicClientApplication pca;
121+ // try {
122+ // pca = PublicClientApplication.builder(
123+ // user.getAppId()).
124+ // authority("https://" + user.getLabName() + ".ciamlogin.com/")
125+ // .build();
126+ // } catch (MalformedURLException ex) {
127+ // throw new RuntimeException(ex.getMessage());
128+ // }
129+ //
130+ // IAuthenticationResult result;
131+ // try {
132+ // URI url = new URI("http://localhost:8080");
133+ //
134+ // SystemBrowserOptions browserOptions =
135+ // SystemBrowserOptions
136+ // .builder()
137+ // .openBrowserAction(new SeleniumOpenBrowserAction(user, pca))
138+ // .build();
139+ //
140+ // InteractiveRequestParameters parameters = InteractiveRequestParameters
141+ // .builder(url)
142+ // .scopes(Collections.singleton(TestConstants.USER_READ_SCOPE))
143+ // .extraQueryParameters(extraQueryParameters)
144+ // .systemBrowserOptions(browserOptions)
145+ // .build();
146+ //
147+ // result = pca.acquireToken(parameters).get();
148+ //
149+ // } catch (Exception e) {
150+ // LOG.error("Error acquiring token with authCode: {}", e.getMessage());
151+ // throw new RuntimeException("Error acquiring token with authCode: " + e.getMessage());
152+ // }
153+ //
154+ // IntegrationTestHelper.assertAccessAndIdTokensNotNull(result);
155+ // assertEquals(user.getUpn(), result.account().username());
156+ // }
157+
158+ private void assertAcquireTokenCommon (LabUser user , String appId , String authority , String scope ) {
159+ PublicClientApplication pca = IntegrationTestHelper .createPublicApp (appId , authority );
158160
159161 IAuthenticationResult result = acquireTokenInteractive (
160162 user ,
@@ -165,7 +167,7 @@ private void assertAcquireTokenCommon(User user, String authority, String scope)
165167 assertEquals (user .getUpn (), result .account ().username ());
166168 }
167169
168- private void assertAcquireTokenB2C (User user , String authority ) {
170+ private void assertAcquireTokenB2C (LabUser user , String authority ) {
169171
170172 PublicClientApplication pca ;
171173 try {
@@ -181,8 +183,8 @@ private void assertAcquireTokenB2C(User user, String authority) {
181183 IntegrationTestHelper .assertAccessAndIdTokensNotNull (result );
182184 }
183185
184- private void assertAcquireTokenInstanceAware (User user ) {
185- PublicClientApplication pca = IntegrationTestHelper .createPublicApp (user .getAppId (), TestConstants .MICROSOFT_AUTHORITY_HOST + user .getTenantID ());
186+ private void assertAcquireTokenInstanceAware (LabUser user ) {
187+ PublicClientApplication pca = IntegrationTestHelper .createPublicApp (user .getAppId (), TestConstants .MICROSOFT_AUTHORITY_HOST + user .getTenantId ());
186188
187189 IAuthenticationResult result = acquireTokenInteractive_instanceAware (user , pca , cfg .graphDefaultScope ());
188190
@@ -213,7 +215,7 @@ private IAuthenticationResult acquireTokenSilently(IPublicClientApplication pca,
213215 }
214216
215217 private IAuthenticationResult acquireTokenInteractive (
216- User user ,
218+ LabUser user ,
217219 PublicClientApplication pca ,
218220 String scope ) {
219221
@@ -243,7 +245,7 @@ private IAuthenticationResult acquireTokenInteractive(
243245 }
244246
245247 private IAuthenticationResult acquireTokenInteractive_instanceAware (
246- User user ,
248+ LabUser user ,
247249 PublicClientApplication pca ,
248250 String scope ) {
249251
@@ -274,10 +276,10 @@ private IAuthenticationResult acquireTokenInteractive_instanceAware(
274276
275277 class SeleniumOpenBrowserAction implements OpenBrowserAction {
276278
277- private User user ;
279+ private LabUser user ;
278280 private PublicClientApplication pca ;
279281
280- SeleniumOpenBrowserAction (User user , PublicClientApplication pca ) {
282+ SeleniumOpenBrowserAction (LabUser user , PublicClientApplication pca ) {
281283 this .user = user ;
282284 this .pca = pca ;
283285 }
0 commit comments