From 9938316ee581ba15255453b93457e683edeb6c2c Mon Sep 17 00:00:00 2001 From: Tim Vernum Date: Thu, 28 Oct 2021 17:34:45 +1100 Subject: [PATCH] Wait 3 seconds for the server to reload trust (#79778) 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 --- .../security/authc/ldap/LdapSessionFactoryTests.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ldap/LdapSessionFactoryTests.java b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ldap/LdapSessionFactoryTests.java index 67f2280972e49..9b11fd996eb81 100644 --- a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ldap/LdapSessionFactoryTests.java +++ b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ldap/LdapSessionFactoryTests.java @@ -39,6 +39,7 @@ import java.nio.file.StandardCopyOption; import java.util.List; import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.containsString; @@ -335,10 +336,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); } } }