Преглед изворни кода

[TEST] Reset LDAP processing delay after test (#80250)

The in memory LDAP server supports a "processing delay" which we use
to test our timeout handling. The test did not reset this delay back
to zero at the end of procesing, and this could sometimes interfere
with test cleanup

Resolves: #80239
Tim Vernum пре 4 година
родитељ
комит
5a4a7446dd

+ 20 - 17
x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ldap/SearchGroupsResolverInMemoryTests.java

@@ -57,24 +57,27 @@ public class SearchGroupsResolverInMemoryTests extends LdapTestCase {
      */
     public void testSearchTimeoutIsFailure() throws Exception {
         ldapServers[0].setProcessingDelayMillis(500);
+        try {
+            final LDAPConnectionOptions options = new LDAPConnectionOptions();
+            options.setConnectTimeoutMillis(1500);
+            options.setResponseTimeoutMillis(5);
+            connect(options);
 
-        final LDAPConnectionOptions options = new LDAPConnectionOptions();
-        options.setConnectTimeoutMillis(1500);
-        options.setResponseTimeoutMillis(5);
-        connect(options);
-
-        final Settings settings = Settings.builder()
-            .put(getFullSettingKey(REALM_IDENTIFIER, SearchGroupsResolverSettings.BASE_DN), "ou=groups,o=sevenSeas")
-            .put(getFullSettingKey(REALM_IDENTIFIER, SearchGroupsResolverSettings.SCOPE), LdapSearchScope.SUB_TREE)
-            .build();
-        final SearchGroupsResolver resolver = new SearchGroupsResolver(getConfig(settings));
-        final PlainActionFuture<List<String>> future = new PlainActionFuture<>();
-        resolver.resolve(connection, WILLIAM_BUSH, TimeValue.timeValueSeconds(30), logger, null, future);
-
-        final ExecutionException exception = expectThrows(ExecutionException.class, future::get);
-        final Throwable cause = exception.getCause();
-        assertThat(cause, instanceOf(LDAPException.class));
-        assertThat(((LDAPException) cause).getResultCode(), is(ResultCode.TIMEOUT));
+            final Settings settings = Settings.builder()
+                .put(getFullSettingKey(REALM_IDENTIFIER, SearchGroupsResolverSettings.BASE_DN), "ou=groups,o=sevenSeas")
+                .put(getFullSettingKey(REALM_IDENTIFIER, SearchGroupsResolverSettings.SCOPE), LdapSearchScope.SUB_TREE)
+                .build();
+            final SearchGroupsResolver resolver = new SearchGroupsResolver(getConfig(settings));
+            final PlainActionFuture<List<String>> future = new PlainActionFuture<>();
+            resolver.resolve(connection, WILLIAM_BUSH, TimeValue.timeValueSeconds(30), logger, null, future);
+
+            final ExecutionException exception = expectThrows(ExecutionException.class, future::get);
+            final Throwable cause = exception.getCause();
+            assertThat(cause, instanceOf(LDAPException.class));
+            assertThat(((LDAPException) cause).getResultCode(), is(ResultCode.TIMEOUT));
+        } finally {
+            ldapServers[0].setProcessingDelayMillis(0);
+        }
     }
 
     /**