Attempt to fix failing CI build

This commit is contained in:
Phillip Webb
2014-01-02 10:23:58 -08:00
parent 045088e8b3
commit 7623c291a2
3 changed files with 46 additions and 50 deletions

View File

@@ -39,7 +39,7 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
/**
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's redis support.
* {@link EnableAutoConfiguration Auto-configuration} for Spring Data's Redis support.
*
* @author Dave Syer
*/
@@ -99,9 +99,7 @@ public class RedisAutoConfiguration {
private PoolConfig poolConfig() {
PoolConfig pool = new PoolConfig();
// FQCN to avoid bizarre compiler error on command line build (!?)
org.springframework.boot.autoconfigure.redis.RedisAutoConfiguration.RedisProperties.Pool props = this.config
.getPool();
RedisProperties.Pool props = this.config.getPool();
if (props != null) {
pool.setMaxActive(props.getMaxActive());
pool.setMaxIdle(props.getMaxIdle());
@@ -185,9 +183,13 @@ public class RedisAutoConfiguration {
}
public static class Pool {
private int maxIdle = 8;
private int minIdle = 0;
private int maxActive = 8;
private int maxWait = -1;
public int getMaxIdle() {

View File

@@ -28,7 +28,6 @@ import org.springframework.boot.autoconfigure.ComponentScanDetectorConfiguration
import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.EmbeddedDataSourceConfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.AbstractJpaAutoConfigurationTests.TestConfigurationWithTransactionManager.CustomJpaTransactionManager;
import org.springframework.boot.autoconfigure.orm.jpa.test.City;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
@@ -43,7 +42,7 @@ import org.springframework.orm.jpa.support.OpenEntityManagerInViewInterceptor;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.Matchers.equalTo;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -135,36 +134,37 @@ public abstract class AbstractJpaAutoConfigurationTests {
assertThat(map.get("a"), equalTo((Object) "b"));
assertThat(map.get("c"), equalTo((Object) "d"));
}
@Test
public void usesManuallyDefinedEntityManagerFactoryBeanIfAvailable() {
setupTestConfiguration(TestConfigurationWithEntityManagerFactory.class);
this.context.refresh();
LocalContainerEntityManagerFactoryBean factoryBean = this.context.getBean(LocalContainerEntityManagerFactoryBean.class);
LocalContainerEntityManagerFactoryBean factoryBean = this.context
.getBean(LocalContainerEntityManagerFactoryBean.class);
Map<String, Object> map = factoryBean.getJpaPropertyMap();
assertThat(map.get("configured"), is((Object) "manually"));
assertThat(map.get("configured"), equalTo((Object) "manually"));
}
@Test
public void usesManuallyDefinedTransactionManagerBeanIfAvailable() {
setupTestConfiguration(TestConfigurationWithTransactionManager.class);
this.context.refresh();
PlatformTransactionManager txManager = this.context.getBean(PlatformTransactionManager.class);
assertThat(txManager, is(instanceOf(CustomJpaTransactionManager.class)));
PlatformTransactionManager txManager = this.context
.getBean(PlatformTransactionManager.class);
assertThat(txManager, instanceOf(CustomJpaTransactionManager.class));
}
protected void setupTestConfiguration() {
setupTestConfiguration(TestConfiguration.class);
}
protected void setupTestConfiguration(Class<?> configClass) {
this.context.register(configClass,
ComponentScanDetectorConfiguration.class,
this.context.register(configClass, ComponentScanDetectorConfiguration.class,
EmbeddedDataSourceConfiguration.class,
PropertyPlaceholderAutoConfiguration.class, getAutoConfigureClass());
}
@@ -188,33 +188,36 @@ public abstract class AbstractJpaAutoConfigurationTests {
return new OpenEntityManagerInViewFilter();
}
}
@Configuration
protected static class TestConfigurationWithEntityManagerFactory extends TestConfiguration {
protected static class TestConfigurationWithEntityManagerFactory extends
TestConfiguration {
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource, JpaVendorAdapter adapter) {
public LocalContainerEntityManagerFactoryBean entityManagerFactory(
DataSource dataSource, JpaVendorAdapter adapter) {
LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
factoryBean.setJpaVendorAdapter(adapter);
factoryBean.setDataSource(dataSource);
factoryBean.setPersistenceUnitName("manually-configured");
factoryBean.setJpaPropertyMap(Collections.singletonMap("configured", "manually"));
factoryBean.setJpaPropertyMap(Collections.singletonMap("configured",
"manually"));
return factoryBean;
}
}
@Configuration
@ComponentScan(basePackageClasses = { City.class })
protected static class TestConfigurationWithTransactionManager {
@Bean
public PlatformTransactionManager transactionManager() {
return new CustomJpaTransactionManager();
}
static class CustomJpaTransactionManager extends JpaTransactionManager {
}
}
static class CustomJpaTransactionManager extends JpaTransactionManager {
}
}

View File

@@ -16,15 +16,12 @@
package sample.data.redis;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
import org.junit.Rule;
import org.junit.Test;
import org.springframework.boot.OutputCapture;
import sample.data.redis.SampleRedisApplication;
import org.springframework.core.NestedCheckedException;
import org.springframework.data.redis.RedisConnectionFailureException;
import static org.junit.Assert.assertTrue;
/**
* Tests for {@link SampleRedisApplication}.
@@ -42,7 +39,7 @@ public class SampleRedisApplicationTests {
SampleRedisApplication.main(new String[0]);
}
catch (IllegalStateException ex) {
if (serverNotRunning(ex)) {
if (!redisServerRunning(ex)) {
return;
}
}
@@ -51,17 +48,11 @@ public class SampleRedisApplicationTests {
output.contains("Found key spring.boot.redis.test"));
}
private boolean serverNotRunning(IllegalStateException e) {
@SuppressWarnings("serial")
NestedCheckedException nested = new NestedCheckedException("failed", e) {
};
if (nested.contains(IOException.class)) {
Throwable root = nested.getRootCause();
if (root.getMessage().contains("couldn't connect to [localhost")) {
return true;
}
private boolean redisServerRunning(Throwable ex) {
System.out.println(ex.getMessage());
if (ex instanceof RedisConnectionFailureException) {
return false;
}
return false;
return (ex.getCause() == null || redisServerRunning(ex.getCause()));
}
}