Skip to content

Commit

Permalink
Wait 3 seconds for the server to reload trust (#79778) (#79987)
Browse files Browse the repository at this point in the history
Sometimes the final session seems to fail because it is still using
the old trust configuration. This commit adds an assertBusy to give it
time to settle.

Resolves: #77024
  • Loading branch information
tvernum authored Oct 28, 2021
1 parent 323bae7 commit 3e3fe65
Showing 1 changed file with 7 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import java.security.GeneralSecurityException;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;

import javax.net.ssl.SSLException;

Expand Down Expand Up @@ -351,10 +352,12 @@ public void testSslTrustIsReloaded() throws Exception {
Files.copy(realCa, ldapCaPath, StandardCopyOption.REPLACE_EXISTING);
resourceWatcher.notifyNow(ResourceWatcherService.Frequency.HIGH);

final LdapSession session = session(sessionFactory, user, userPass);
assertThat(session.userDn(), is("cn=Horatio Hornblower,ou=people,o=sevenSeas"));

session.close();
// Occasionally the reload doesn't take immediate effect so the next connection fails.
assertBusy(() -> {
final LdapSession session = session(sessionFactory, user, userPass);
assertThat(session.userDn(), is("cn=Horatio Hornblower,ou=people,o=sevenSeas"));
session.close();
}, 3, TimeUnit.SECONDS);
}
}
}

0 comments on commit 3e3fe65

Please sign in to comment.