Skip to content

Commit feb49ea

Browse files
committed
Add Timeout to Ldap Test
- The test intentionally points to a non-existent LDAP server; on some machines, this will hang indefinitely without a specified timeout. Issue gh-2884
1 parent 951e641 commit feb49ea

File tree

1 file changed

+20
-13
lines changed

1 file changed

+20
-13
lines changed

ldap/src/test/java/org/springframework/security/ldap/authentication/ad/ActiveDirectoryLdapAuthenticationProviderTests.java

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,18 @@
1515
*/
1616
package org.springframework.security.ldap.authentication.ad;
1717

18+
import java.util.Collections;
19+
import java.util.Hashtable;
20+
import javax.naming.AuthenticationException;
21+
import javax.naming.CommunicationException;
22+
import javax.naming.Name;
23+
import javax.naming.NameNotFoundException;
24+
import javax.naming.NamingEnumeration;
25+
import javax.naming.NamingException;
26+
import javax.naming.directory.DirContext;
27+
import javax.naming.directory.SearchControls;
28+
import javax.naming.directory.SearchResult;
29+
1830
import org.apache.directory.shared.ldap.util.EmptyEnumeration;
1931
import org.hamcrest.BaseMatcher;
2032
import org.hamcrest.CoreMatchers;
@@ -25,6 +37,7 @@
2537
import org.junit.Test;
2638
import org.junit.rules.ExpectedException;
2739
import org.mockito.ArgumentCaptor;
40+
2841
import org.springframework.dao.IncorrectResultSizeDataAccessException;
2942
import org.springframework.ldap.core.DirContextAdapter;
3043
import org.springframework.ldap.core.DistinguishedName;
@@ -37,21 +50,13 @@
3750
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
3851
import org.springframework.security.core.Authentication;
3952

40-
import javax.naming.AuthenticationException;
41-
import javax.naming.CommunicationException;
42-
import javax.naming.Name;
43-
import javax.naming.NameNotFoundException;
44-
import javax.naming.NamingEnumeration;
45-
import javax.naming.NamingException;
46-
import javax.naming.directory.DirContext;
47-
import javax.naming.directory.SearchControls;
48-
import javax.naming.directory.SearchResult;
49-
50-
import java.util.Hashtable;
51-
5253
import static org.assertj.core.api.Assertions.assertThat;
5354
import static org.assertj.core.api.Assertions.fail;
54-
import static org.mockito.Mockito.*;
55+
import static org.mockito.Mockito.any;
56+
import static org.mockito.Mockito.eq;
57+
import static org.mockito.Mockito.mock;
58+
import static org.mockito.Mockito.verify;
59+
import static org.mockito.Mockito.when;
5560
import static org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider.ContextFactory;
5661

5762
/**
@@ -398,6 +403,8 @@ public void nonAuthenticationExceptionIsConvertedToSpringLdapException() throws
398403
public void connectionExceptionIsWrappedInInternalException() throws Exception {
399404
ActiveDirectoryLdapAuthenticationProvider noneReachableProvider = new ActiveDirectoryLdapAuthenticationProvider(
400405
"mydomain.eu", NON_EXISTING_LDAP_PROVIDER, "dc=ad,dc=eu,dc=mydomain");
406+
noneReachableProvider.setContextEnvironmentProperties(
407+
Collections.singletonMap("com.sun.jndi.ldap.connect.timeout", "5"));
401408
noneReachableProvider.doAuthentication(joe);
402409
}
403410

0 commit comments

Comments
 (0)