Commit 6466c0af authored by Phillip Webb's avatar Phillip Webb

Polish

parent 322b1b2f
...@@ -36,13 +36,14 @@ import org.springframework.session.config.annotation.web.http.EnableSpringHttpSe ...@@ -36,13 +36,14 @@ import org.springframework.session.config.annotation.web.http.EnableSpringHttpSe
class HashMapSessionConfiguration { class HashMapSessionConfiguration {
@Bean @Bean
public SessionRepository<ExpiringSession> sessionRepository(SessionProperties sessionProperties) { public SessionRepository<ExpiringSession> sessionRepository(
MapSessionRepository sessionRepository = new MapSessionRepository(); SessionProperties properties) {
Integer timeout = sessionProperties.getTimeout(); MapSessionRepository repository = new MapSessionRepository();
Integer timeout = properties.getTimeout();
if (timeout != null) { if (timeout != null) {
sessionRepository.setDefaultMaxInactiveInterval(timeout); repository.setDefaultMaxInactiveInterval(timeout);
} }
return sessionRepository; return repository;
} }
} }
...@@ -30,4 +30,5 @@ import org.springframework.session.SessionRepository; ...@@ -30,4 +30,5 @@ import org.springframework.session.SessionRepository;
@ConditionalOnMissingBean(SessionRepository.class) @ConditionalOnMissingBean(SessionRepository.class)
@Conditional(SessionCondition.class) @Conditional(SessionCondition.class)
class NoOpSessionConfiguration { class NoOpSessionConfiguration {
} }
...@@ -45,8 +45,9 @@ public abstract class AbstractSessionAutoConfigurationTests { ...@@ -45,8 +45,9 @@ public abstract class AbstractSessionAutoConfigurationTests {
} }
} }
protected <T extends SessionRepository<?>> T validateSessionRepository(Class<T> type) { protected <T extends SessionRepository<?>> T validateSessionRepository(
SessionRepository cacheManager = this.context.getBean(SessionRepository.class); Class<T> type) {
SessionRepository<?> cacheManager = this.context.getBean(SessionRepository.class);
assertThat(cacheManager).as("Wrong session repository type").isInstanceOf(type); assertThat(cacheManager).as("Wrong session repository type").isInstanceOf(type);
return type.cast(cacheManager); return type.cast(cacheManager);
} }
......
...@@ -55,8 +55,7 @@ public class SessionAutoConfigurationRedisTests ...@@ -55,8 +55,7 @@ public class SessionAutoConfigurationRedisTests
@Test @Test
public void redisSessionStoreWithCustomizations() { public void redisSessionStoreWithCustomizations() {
load(Collections.<Class<?>>singletonList(RedisAutoConfiguration.class), load(Collections.<Class<?>>singletonList(RedisAutoConfiguration.class),
"spring.session.store-type=redis", "spring.session.store-type=redis", "spring.session.redis.namespace=foo",
"spring.session.redis.namespace=foo",
"spring.session.redis.flush-mode=immediate"); "spring.session.redis.flush-mode=immediate");
RedisOperationsSessionRepository repository = validateSessionRepository( RedisOperationsSessionRepository repository = validateSessionRepository(
RedisOperationsSessionRepository.class); RedisOperationsSessionRepository.class);
......
...@@ -72,8 +72,7 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat ...@@ -72,8 +72,7 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat
@Test @Test
public void hashMapSessionStoreCustomTimeout() { public void hashMapSessionStoreCustomTimeout() {
load("spring.session.store-type=hash-map", load("spring.session.store-type=hash-map", "server.session.timeout=3000");
"server.session.timeout=3000");
MapSessionRepository repository = validateSessionRepository( MapSessionRepository repository = validateSessionRepository(
MapSessionRepository.class); MapSessionRepository.class);
assertThat(getSessionTimeout(repository)).isEqualTo(3000); assertThat(getSessionTimeout(repository)).isEqualTo(3000);
...@@ -81,8 +80,7 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat ...@@ -81,8 +80,7 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat
@Test @Test
public void springSessionTimeoutIsNotAValidProperty() { public void springSessionTimeoutIsNotAValidProperty() {
load("spring.session.store-type=hash-map", load("spring.session.store-type=hash-map", "spring.session.timeout=3000");
"spring.session.timeout=3000");
MapSessionRepository repository = validateSessionRepository( MapSessionRepository repository = validateSessionRepository(
MapSessionRepository.class); MapSessionRepository.class);
assertThat(getSessionTimeout(repository)).isNull(); assertThat(getSessionTimeout(repository)).isNull();
...@@ -130,7 +128,8 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat ...@@ -130,7 +128,8 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat
"spring.session.store-type=hazelcast", "spring.session.store-type=hazelcast",
"spring.session.hazelcast.map-name=foo:bar:biz"); "spring.session.hazelcast.map-name=foo:bar:biz");
validateSessionRepository(MapSessionRepository.class); validateSessionRepository(MapSessionRepository.class);
HazelcastInstance hazelcastInstance = this.context.getBean(HazelcastInstance.class); HazelcastInstance hazelcastInstance = this.context
.getBean(HazelcastInstance.class);
verify(hazelcastInstance, times(1)).getMap("foo:bar:biz"); verify(hazelcastInstance, times(1)).getMap("foo:bar:biz");
} }
...@@ -154,13 +153,13 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat ...@@ -154,13 +153,13 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat
.isEqualTo("foobar"); .isEqualTo("foobar");
} }
@Configuration @Configuration
static class SessionRepositoryConfiguration { static class SessionRepositoryConfiguration {
@Bean @Bean
public SessionRepository<?> mySessionRepository() { public SessionRepository<?> mySessionRepository() {
return new MapSessionRepository(Collections.<String, ExpiringSession>emptyMap()); return new MapSessionRepository(
Collections.<String, ExpiringSession>emptyMap());
} }
} }
...@@ -179,8 +178,9 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat ...@@ -179,8 +178,9 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat
static class HazelcastSpecificMap { static class HazelcastSpecificMap {
@Bean @Bean
@SuppressWarnings("unchecked")
public HazelcastInstance hazelcastInstance() { public HazelcastInstance hazelcastInstance() {
IMap map = mock(IMap.class); IMap<Object, Object> map = mock(IMap.class);
HazelcastInstance mock = mock(HazelcastInstance.class); HazelcastInstance mock = mock(HazelcastInstance.class);
given(mock.getMap("foo:bar:biz")).willReturn(map); given(mock.getMap("foo:bar:biz")).willReturn(map);
return mock; return mock;
......
...@@ -84,11 +84,12 @@ public class FilterOrderingIntegrationTests { ...@@ -84,11 +84,12 @@ public class FilterOrderingIntegrationTests {
private void load() { private void load() {
this.context = new AnnotationConfigEmbeddedWebApplicationContext(); this.context = new AnnotationConfigEmbeddedWebApplicationContext();
EnvironmentTestUtils.addEnvironment(this.context, "spring.session.store-type=hash-map"); EnvironmentTestUtils.addEnvironment(this.context,
"spring.session.store-type=hash-map");
this.context.register(MockEmbeddedServletContainerConfiguration.class, this.context.register(MockEmbeddedServletContainerConfiguration.class,
TestRedisConfiguration.class, WebMvcAutoConfiguration.class, TestRedisConfiguration.class, WebMvcAutoConfiguration.class,
ServerPropertiesAutoConfiguration.class, ServerPropertiesAutoConfiguration.class, SecurityAutoConfiguration.class,
SecurityAutoConfiguration.class, SessionAutoConfiguration.class, SessionAutoConfiguration.class,
HttpMessageConvertersAutoConfiguration.class, HttpMessageConvertersAutoConfiguration.class,
PropertyPlaceholderAutoConfiguration.class, PropertyPlaceholderAutoConfiguration.class,
HttpEncodingAutoConfiguration.class); HttpEncodingAutoConfiguration.class);
......
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