@@ -386,4 +386,73 @@ public void testGetRequestBundleForAadDeviceIdRequest() {
386386 assertEquals (mockRedirectUri , brokerRequest .getRedirect ());
387387 assertEquals (mockTenantId , brokerRequest .getTenantId ());
388388 }
389+
390+ /**
391+ * Verify that {@code onboardingSeedJson} from {@link InteractiveTokenCommandParameters}
392+ * is propagated into {@link BrokerRequest} by
393+ * {@link MsalBrokerRequestAdapter#brokerRequestFromAcquireTokenParameters(InteractiveTokenCommandParameters)}.
394+ */
395+ @ Test
396+ public void test_brokerRequestFromAcquireTokenParameters_PropagatesOnboardingSeedJson () {
397+ final String seedJson = "{\" schema_version\" :\" 1.0.0\" ,"
398+ + "\" session_correlation_id\" :\" abc-123\" ,"
399+ + "\" onboarding_mode\" :\" brokered\" }" ;
400+ final Set <String > scopes = new HashSet <>();
401+ scopes .add ("user.read" );
402+
403+ final IPlatformComponents components = MockPlatformComponentsFactory .getNonFunctionalBuilder ().build ();
404+ final AndroidInteractiveTokenCommandParameters params = AndroidInteractiveTokenCommandParameters .builder ()
405+ .platformComponents (components )
406+ .correlationId ("987d8962-3f4d-4054-a852-ac0c4b6a602e" )
407+ .clientId ("aClientId" )
408+ .redirectUri ("msauth://com.example/foo" )
409+ .applicationName ("com.example" )
410+ .applicationVersion ("1.0.0" )
411+ .sdkType (SdkType .MSAL )
412+ .sdkVersion ("5.4.0" )
413+ .authority (new AzureActiveDirectoryAuthority ())
414+ .scopes (scopes )
415+ .authenticationScheme (new BearerAuthenticationSchemeInternal ())
416+ .prompt (OpenIdConnectPromptParameter .LOGIN )
417+ .requiredBrokerProtocolVersion ("10.0" )
418+ .onboardingSeedJson (seedJson )
419+ .build ();
420+
421+ final BrokerRequest brokerRequest =
422+ new MsalBrokerRequestAdapter ().brokerRequestFromAcquireTokenParameters (params );
423+
424+ assertEquals (seedJson , brokerRequest .getOnboardingSeedJson ());
425+ }
426+
427+ /**
428+ * Verify that when {@code onboardingSeedJson} is not set on the parameters,
429+ * the resulting {@link BrokerRequest} carries a null seed (i.e. no accidental default value).
430+ */
431+ @ Test
432+ public void test_brokerRequestFromAcquireTokenParameters_NoSeedJson_IsNull () {
433+ final Set <String > scopes = new HashSet <>();
434+ scopes .add ("user.read" );
435+
436+ final IPlatformComponents components = MockPlatformComponentsFactory .getNonFunctionalBuilder ().build ();
437+ final AndroidInteractiveTokenCommandParameters params = AndroidInteractiveTokenCommandParameters .builder ()
438+ .platformComponents (components )
439+ .correlationId ("987d8962-3f4d-4054-a852-ac0c4b6a602e" )
440+ .clientId ("aClientId" )
441+ .redirectUri ("msauth://com.example/foo" )
442+ .applicationName ("com.example" )
443+ .applicationVersion ("1.0.0" )
444+ .sdkType (SdkType .MSAL )
445+ .sdkVersion ("5.4.0" )
446+ .authority (new AzureActiveDirectoryAuthority ())
447+ .scopes (scopes )
448+ .authenticationScheme (new BearerAuthenticationSchemeInternal ())
449+ .prompt (OpenIdConnectPromptParameter .LOGIN )
450+ .requiredBrokerProtocolVersion ("10.0" )
451+ .build ();
452+
453+ final BrokerRequest brokerRequest =
454+ new MsalBrokerRequestAdapter ().brokerRequestFromAcquireTokenParameters (params );
455+
456+ assertNull (brokerRequest .getOnboardingSeedJson ());
457+ }
389458}
0 commit comments