UnboundIdContainer Disables Pauses for Ephemeral Port
Closes gh-17543
This commit is contained in:
-3
@@ -26,7 +26,6 @@ import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.ldap.AuthenticationException;
|
||||
import org.springframework.ldap.core.support.AbstractContextSource;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@@ -40,8 +39,6 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
|
||||
*/
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = UnboundIdContainerConfig.class)
|
||||
// FIXME: See https://github.com/spring-projects/spring-security/issues/17543
|
||||
@DirtiesContext
|
||||
public class DefaultSpringSecurityContextSourceTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
-3
@@ -34,7 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.ldap.UncategorizedLdapException;
|
||||
import org.springframework.ldap.core.ContextExecutor;
|
||||
import org.springframework.security.crypto.codec.Utf8;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@@ -47,8 +46,6 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
*/
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = UnboundIdContainerConfig.class)
|
||||
// FIXME: See https://github.com/spring-projects/spring-security/issues/17543
|
||||
@DirtiesContext
|
||||
public class SpringSecurityLdapTemplateITests {
|
||||
|
||||
@Autowired
|
||||
|
||||
-3
@@ -36,7 +36,6 @@ import org.springframework.security.core.SpringSecurityMessageSource;
|
||||
import org.springframework.security.ldap.DefaultSpringSecurityContextSource;
|
||||
import org.springframework.security.ldap.UnboundIdContainerConfig;
|
||||
import org.springframework.security.ldap.search.FilterBasedLdapUserSearch;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@@ -55,8 +54,6 @@ import static org.mockito.Mockito.spy;
|
||||
*/
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = UnboundIdContainerConfig.class)
|
||||
// FIXME: See https://github.com/spring-projects/spring-security/issues/17543
|
||||
@DirtiesContext
|
||||
public class BindAuthenticatorTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
-3
@@ -32,7 +32,6 @@ import org.springframework.security.crypto.password.LdapShaPasswordEncoder;
|
||||
import org.springframework.security.crypto.password.NoOpPasswordEncoder;
|
||||
import org.springframework.security.ldap.DefaultSpringSecurityContextSource;
|
||||
import org.springframework.security.ldap.UnboundIdContainerConfig;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@@ -48,8 +47,6 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
|
||||
*/
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = UnboundIdContainerConfig.class)
|
||||
// FIXME: See https://github.com/spring-projects/spring-security/issues/17543
|
||||
@DirtiesContext
|
||||
public class PasswordComparisonAuthenticatorTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
-3
@@ -27,7 +27,6 @@ import org.springframework.ldap.core.DirContextOperations;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.security.ldap.DefaultSpringSecurityContextSource;
|
||||
import org.springframework.security.ldap.UnboundIdContainerConfig;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@@ -42,8 +41,6 @@ import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
*/
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = UnboundIdContainerConfig.class)
|
||||
// FIXME: See https://github.com/spring-projects/spring-security/issues/17543
|
||||
@DirtiesContext
|
||||
public class FilterBasedLdapUserSearchTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
-3
@@ -33,7 +33,6 @@ import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.core.authority.AuthorityUtils;
|
||||
import org.springframework.security.ldap.SpringSecurityLdapTemplate;
|
||||
import org.springframework.security.ldap.UnboundIdContainerConfig;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@@ -46,8 +45,6 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException
|
||||
*/
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = UnboundIdContainerConfig.class)
|
||||
// FIXME: See https://github.com/spring-projects/spring-security/issues/17543
|
||||
@DirtiesContext
|
||||
@SuppressWarnings({ "deprecation" })
|
||||
public class DefaultLdapAuthoritiesPopulatorTests {
|
||||
|
||||
|
||||
-3
@@ -37,7 +37,6 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.security.ldap.DefaultLdapUsernameToDnMapper;
|
||||
import org.springframework.security.ldap.SpringSecurityLdapTemplate;
|
||||
import org.springframework.security.ldap.UnboundIdContainerConfig;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@@ -54,8 +53,6 @@ import static org.mockito.Mockito.verify;
|
||||
*/
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = UnboundIdContainerConfig.class)
|
||||
// FIXME: See https://github.com/spring-projects/spring-security/issues/17543
|
||||
@DirtiesContext
|
||||
public class LdapUserDetailsManagerTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
-3
@@ -29,7 +29,6 @@ import org.springframework.ldap.core.ContextSource;
|
||||
import org.springframework.ldap.core.DirContextAdapter;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.ldap.UnboundIdContainerConfig;
|
||||
import org.springframework.test.annotation.DirtiesContext;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit.jupiter.SpringExtension;
|
||||
|
||||
@@ -41,8 +40,6 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
*/
|
||||
@ExtendWith(SpringExtension.class)
|
||||
@ContextConfiguration(classes = UnboundIdContainerConfig.class)
|
||||
// FIXME: See https://github.com/spring-projects/spring-security/issues/17543
|
||||
@DirtiesContext
|
||||
public class NestedLdapAuthoritiesPopulatorTests {
|
||||
|
||||
@Autowired
|
||||
|
||||
@@ -31,6 +31,7 @@ import org.springframework.beans.factory.DisposableBean;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.context.Lifecycle;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.lang.NonNull;
|
||||
@@ -48,7 +49,9 @@ public class UnboundIdContainer
|
||||
|
||||
private int port = 53389;
|
||||
|
||||
private ApplicationContext context;
|
||||
private boolean isEphemeral;
|
||||
|
||||
private ConfigurableApplicationContext context;
|
||||
|
||||
private boolean running;
|
||||
|
||||
@@ -67,6 +70,7 @@ public class UnboundIdContainer
|
||||
@Override
|
||||
public void setPort(int port) {
|
||||
this.port = port;
|
||||
this.isEphemeral = port == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -81,7 +85,7 @@ public class UnboundIdContainer
|
||||
|
||||
@Override
|
||||
public void setApplicationContext(@NonNull ApplicationContext applicationContext) throws BeansException {
|
||||
this.context = applicationContext;
|
||||
this.context = (ConfigurableApplicationContext) applicationContext;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -133,6 +137,9 @@ public class UnboundIdContainer
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
if (this.isEphemeral && this.context != null && !this.context.isClosed()) {
|
||||
return;
|
||||
}
|
||||
this.directoryServer.shutDown(true);
|
||||
this.running = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user