Commit 56115b9b authored by Dave Syer's avatar Dave Syer

Fix broken test (use web app context)

parent 84a3e382
...@@ -16,6 +16,14 @@ ...@@ -16,6 +16,14 @@
package org.springframework.boot.actuate.autoconfigure; package org.springframework.boot.actuate.autoconfigure;
import static org.hamcrest.Matchers.hasKey;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock;
import java.sql.Connection; import java.sql.Connection;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.Collection; import java.util.Collection;
...@@ -41,9 +49,12 @@ import org.springframework.boot.actuate.metrics.rich.RichGaugeReader; ...@@ -41,9 +49,12 @@ import org.springframework.boot.actuate.metrics.rich.RichGaugeReader;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration; import org.springframework.boot.autoconfigure.jdbc.metadata.DataSourcePoolMetadataProvidersConfiguration;
import org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext;
import org.springframework.boot.context.embedded.MockEmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory; import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.cache.CacheManager; import org.springframework.cache.CacheManager;
import org.springframework.cache.concurrent.ConcurrentMapCacheManager; import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
...@@ -56,14 +67,6 @@ import org.springframework.util.SocketUtils; ...@@ -56,14 +67,6 @@ import org.springframework.util.SocketUtils;
import com.zaxxer.hikari.HikariDataSource; import com.zaxxer.hikari.HikariDataSource;
import static org.hamcrest.Matchers.hasKey;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock;
/** /**
* Tests for {@link PublicMetricsAutoConfiguration}. * Tests for {@link PublicMetricsAutoConfiguration}.
* *
...@@ -73,7 +76,7 @@ import static org.mockito.Mockito.mock; ...@@ -73,7 +76,7 @@ import static org.mockito.Mockito.mock;
*/ */
public class PublicMetricsAutoConfigurationTests { public class PublicMetricsAutoConfigurationTests {
private AnnotationConfigApplicationContext context; private ConfigurableApplicationContext context;
@After @After
public void after() { public void after() {
...@@ -147,7 +150,7 @@ public class PublicMetricsAutoConfigurationTests { ...@@ -147,7 +150,7 @@ public class PublicMetricsAutoConfigurationTests {
jdbcTemplate.execute(new ConnectionCallback<Void>() { jdbcTemplate.execute(new ConnectionCallback<Void>() {
@Override @Override
public Void doInConnection(Connection connection) throws SQLException, public Void doInConnection(Connection connection) throws SQLException,
DataAccessException { DataAccessException {
return null; return null;
} }
}); });
...@@ -189,7 +192,7 @@ public class PublicMetricsAutoConfigurationTests { ...@@ -189,7 +192,7 @@ public class PublicMetricsAutoConfigurationTests {
@Test @Test
public void tomcatMetrics() throws Exception { public void tomcatMetrics() throws Exception {
load(TomcatConfiguration.class); loadWeb(TomcatConfiguration.class);
assertEquals(1, this.context.getBeansOfType(TomcatPublicMetrics.class).size()); assertEquals(1, this.context.getBeansOfType(TomcatPublicMetrics.class).size());
} }
...@@ -236,15 +239,28 @@ public class PublicMetricsAutoConfigurationTests { ...@@ -236,15 +239,28 @@ public class PublicMetricsAutoConfigurationTests {
} }
} }
private void loadWeb(Class<?>... config) {
AnnotationConfigEmbeddedWebApplicationContext context = new AnnotationConfigEmbeddedWebApplicationContext();
if (config.length > 0) {
context.register(config);
}
context.register(DataSourcePoolMetadataProvidersConfiguration.class,
CacheStatisticsAutoConfiguration.class,
PublicMetricsAutoConfiguration.class, MockEmbeddedServletContainerFactory.class);
context.refresh();
this.context = context;
}
private void load(Class<?>... config) { private void load(Class<?>... config) {
this.context = new AnnotationConfigApplicationContext(); AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
if (config.length > 0) { if (config.length > 0) {
this.context.register(config); context.register(config);
} }
this.context.register(DataSourcePoolMetadataProvidersConfiguration.class, context.register(DataSourcePoolMetadataProvidersConfiguration.class,
CacheStatisticsAutoConfiguration.class, CacheStatisticsAutoConfiguration.class,
PublicMetricsAutoConfiguration.class); PublicMetricsAutoConfiguration.class);
this.context.refresh(); context.refresh();
this.context = context;
} }
@Configuration @Configuration
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment