109109import org .keycloak .admin .client .resource .UserResource ;
110110import org .keycloak .common .util .Base64 ;
111111import org .keycloak .common .util .KeyUtils ;
112+ import org .keycloak .common .util .MultivaluedHashMap ;
112113import org .keycloak .common .util .PemUtils ;
113114import org .keycloak .dom .saml .v2 .metadata .EntityDescriptorType ;
114115import org .keycloak .dom .saml .v2 .protocol .AuthnRequestType ;
@@ -493,6 +494,7 @@ private void assertFailedLogin(AbstractPage page, UserRepresentation user, Login
493494
494495 private void assertSuccessfulLogin (AbstractPage page , UserRepresentation user , Login loginPage , String expectedString ) {
495496 page .navigateTo ();
497+ waitForPageToLoad ();
496498 assertCurrentUrlStartsWith (loginPage );
497499 loginPage .form ().login (user );
498500 waitUntilElement (By .xpath ("//body" )).text ().contains (expectedString );
@@ -662,7 +664,7 @@ private PublicKey createKeys(String priority) throws Exception {
662664 rep .setProviderId (ImportedRsaKeyProviderFactory .ID );
663665 rep .setProviderType (KeyProvider .class .getName ());
664666
665- org . keycloak . common . util . MultivaluedHashMap config = new org . keycloak . common . util . MultivaluedHashMap ();
667+ MultivaluedHashMap < String , String > config = new MultivaluedHashMap <> ();
666668 config .addFirst ("priority" , priority );
667669 config .addFirst (Attributes .PRIVATE_KEY_KEY , NEW_KEY_PRIVATE_KEY_PEM );
668670 rep .setConfig (config );
@@ -683,6 +685,10 @@ private void dropKeys(String priority) {
683685 }
684686
685687 private void testRotatedKeysPropagated (SAMLServlet servletPage , Login loginPage ) throws Exception {
688+ testRotatedKeysPropagated (servletPage , loginPage , true );
689+ }
690+
691+ private void testRotatedKeysPropagated (SAMLServlet servletPage , Login loginPage , boolean shouldLogout ) throws Exception {
686692 boolean keyDropped = false ;
687693 try {
688694 log .info ("Creating new key" );
@@ -693,9 +699,12 @@ private void testRotatedKeysPropagated(SAMLServlet servletPage, Login loginPage)
693699 keyDropped = true ;
694700 testSuccessfulAndUnauthorizedLogin (servletPage , loginPage );
695701 } finally {
696- if (! keyDropped ) {
702+ if (!keyDropped ) {
697703 dropKeys ("1000" );
698704 }
705+ if (shouldLogout ) {
706+ servletPage .logout ();
707+ }
699708 }
700709 }
701710
0 commit comments