Making sure to stop embedded web servers in tests
Closes gh-9012
This commit is contained in:
parent
7b1fc01733
commit
5121b848e1
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2012-2016 the original author or authors.
|
* Copyright 2012-2017 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -19,6 +19,7 @@ package org.springframework.boot.actuate.cloudfoundry;
|
||||||
import javax.net.ssl.SSLHandshakeException;
|
import javax.net.ssl.SSLHandshakeException;
|
||||||
|
|
||||||
import org.hamcrest.Matcher;
|
import org.hamcrest.Matcher;
|
||||||
|
import org.junit.After;
|
||||||
import org.junit.Rule;
|
import org.junit.Rule;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.rules.ExpectedException;
|
import org.junit.rules.ExpectedException;
|
||||||
|
@ -44,6 +45,15 @@ public class SkipSslVerificationHttpRequestFactoryTests {
|
||||||
@Rule
|
@Rule
|
||||||
public ExpectedException thrown = ExpectedException.none();
|
public ExpectedException thrown = ExpectedException.none();
|
||||||
|
|
||||||
|
private EmbeddedServletContainer container;
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void shutdownContainer() {
|
||||||
|
if (this.container != null) {
|
||||||
|
this.container.stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void restCallToSelfSignedServershouldNotThrowSslException() throws Exception {
|
public void restCallToSelfSignedServershouldNotThrowSslException() throws Exception {
|
||||||
String httpsUrl = getHttpsUrl();
|
String httpsUrl = getHttpsUrl();
|
||||||
|
@ -66,10 +76,10 @@ public class SkipSslVerificationHttpRequestFactoryTests {
|
||||||
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(
|
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(
|
||||||
0);
|
0);
|
||||||
factory.setSsl(getSsl("password", "classpath:test.jks"));
|
factory.setSsl(getSsl("password", "classpath:test.jks"));
|
||||||
EmbeddedServletContainer container = factory.getEmbeddedServletContainer(
|
this.container = factory.getEmbeddedServletContainer(
|
||||||
new ServletRegistrationBean(new ExampleServlet(), "/hello"));
|
new ServletRegistrationBean(new ExampleServlet(), "/hello"));
|
||||||
container.start();
|
this.container.start();
|
||||||
return "https://localhost:" + container.getPort() + "/hello";
|
return "https://localhost:" + this.container.getPort() + "/hello";
|
||||||
}
|
}
|
||||||
|
|
||||||
private Ssl getSsl(String keyPassword, String keyStore) {
|
private Ssl getSsl(String keyPassword, String keyStore) {
|
||||||
|
|
|
@ -43,6 +43,7 @@ import org.mockito.MockitoAnnotations;
|
||||||
import org.springframework.beans.MutablePropertyValues;
|
import org.springframework.beans.MutablePropertyValues;
|
||||||
import org.springframework.boot.bind.RelaxedDataBinder;
|
import org.springframework.boot.bind.RelaxedDataBinder;
|
||||||
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
|
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
|
||||||
|
import org.springframework.boot.context.embedded.EmbeddedServletContainer;
|
||||||
import org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainerFactory;
|
import org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainerFactory;
|
||||||
import org.springframework.boot.context.embedded.tomcat.TomcatContextCustomizer;
|
import org.springframework.boot.context.embedded.tomcat.TomcatContextCustomizer;
|
||||||
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer;
|
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer;
|
||||||
|
@ -438,12 +439,12 @@ public class ServerPropertiesTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void defaultTomcatBackgroundProcessorDelay() throws Exception {
|
public void defaultTomcatBackgroundProcessorDelay() throws Exception {
|
||||||
TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory();
|
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
|
||||||
this.properties.customize(container);
|
this.properties.customize(factory);
|
||||||
assertThat(
|
EmbeddedServletContainer container = factory.getEmbeddedServletContainer();
|
||||||
((TomcatEmbeddedServletContainer) container.getEmbeddedServletContainer())
|
assertThat(((TomcatEmbeddedServletContainer) container).getTomcat().getEngine()
|
||||||
.getTomcat().getEngine().getBackgroundProcessorDelay())
|
.getBackgroundProcessorDelay()).isEqualTo(30);
|
||||||
.isEqualTo(30);
|
container.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -451,12 +452,12 @@ public class ServerPropertiesTests {
|
||||||
Map<String, String> map = new HashMap<String, String>();
|
Map<String, String> map = new HashMap<String, String>();
|
||||||
map.put("server.tomcat.background-processor-delay", "5");
|
map.put("server.tomcat.background-processor-delay", "5");
|
||||||
bindProperties(map);
|
bindProperties(map);
|
||||||
TomcatEmbeddedServletContainerFactory container = new TomcatEmbeddedServletContainerFactory();
|
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
|
||||||
this.properties.customize(container);
|
this.properties.customize(factory);
|
||||||
assertThat(
|
EmbeddedServletContainer container = factory.getEmbeddedServletContainer();
|
||||||
((TomcatEmbeddedServletContainer) container.getEmbeddedServletContainer())
|
assertThat(((TomcatEmbeddedServletContainer) container).getTomcat().getEngine()
|
||||||
.getTomcat().getEngine().getBackgroundProcessorDelay())
|
.getBackgroundProcessorDelay()).isEqualTo(5);
|
||||||
.isEqualTo(5);
|
container.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
@ -267,9 +267,9 @@ public class JettyEmbeddedServletContainerFactoryTests
|
||||||
JettyEmbeddedServletContainerFactory factory = getFactory();
|
JettyEmbeddedServletContainerFactory factory = getFactory();
|
||||||
factory.setThreadPool(null);
|
factory.setThreadPool(null);
|
||||||
assertThat(factory.getThreadPool()).isNull();
|
assertThat(factory.getThreadPool()).isNull();
|
||||||
JettyEmbeddedServletContainer servletContainer = (JettyEmbeddedServletContainer) factory
|
this.container = factory.getEmbeddedServletContainer();
|
||||||
.getEmbeddedServletContainer();
|
assertThat(((JettyEmbeddedServletContainer) this.container).getServer()
|
||||||
assertThat(servletContainer.getServer().getThreadPool()).isNotNull();
|
.getThreadPool()).isNotNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -277,9 +277,9 @@ public class JettyEmbeddedServletContainerFactoryTests
|
||||||
JettyEmbeddedServletContainerFactory factory = getFactory();
|
JettyEmbeddedServletContainerFactory factory = getFactory();
|
||||||
ThreadPool threadPool = mock(ThreadPool.class);
|
ThreadPool threadPool = mock(ThreadPool.class);
|
||||||
factory.setThreadPool(threadPool);
|
factory.setThreadPool(threadPool);
|
||||||
JettyEmbeddedServletContainer servletContainer = (JettyEmbeddedServletContainer) factory
|
this.container = factory.getEmbeddedServletContainer();
|
||||||
.getEmbeddedServletContainer();
|
assertThat(((JettyEmbeddedServletContainer) this.container).getServer()
|
||||||
assertThat(servletContainer.getServer().getThreadPool()).isSameAs(threadPool);
|
.getThreadPool()).isSameAs(threadPool);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2012-2016 the original author or authors.
|
* Copyright 2012-2017 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -263,11 +263,16 @@ public class UndertowEmbeddedServletContainerFactoryTests
|
||||||
}
|
}
|
||||||
|
|
||||||
private ServletContainer getServletContainerFromNewFactory() {
|
private ServletContainer getServletContainerFromNewFactory() {
|
||||||
UndertowEmbeddedServletContainer undertow1 = (UndertowEmbeddedServletContainer) getFactory()
|
UndertowEmbeddedServletContainer container = (UndertowEmbeddedServletContainer)
|
||||||
.getEmbeddedServletContainer();
|
getFactory().getEmbeddedServletContainer();
|
||||||
return ((DeploymentManager) ReflectionTestUtils.getField(undertow1, "manager"))
|
try {
|
||||||
|
return ((DeploymentManager) ReflectionTestUtils.getField(container, "manager"))
|
||||||
.getDeployment().getServletContainer();
|
.getDeployment().getServletContainer();
|
||||||
}
|
}
|
||||||
|
finally {
|
||||||
|
container.stop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Map<String, String> getActualMimeMappings() {
|
protected Map<String, String> getActualMimeMappings() {
|
||||||
|
|
Loading…
Reference in New Issue