From 8dd1a10f1bde5a3afd02fee69920d48547e25697 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 18 Jul 2017 16:17:44 +0200 Subject: [PATCH] Adapt to changes in Spring Data Redis API --- .../docs/http/AbstractHttpSessionListenerTests.java | 7 ++++++- .../config/ConfigureNotifyKeyspaceEventsAction.java | 11 ++++++----- ...bleRedisKeyspaceNotificationsInitializerTests.java | 6 ++++-- ...figurationClassPathXmlApplicationContextTests.java | 7 ++++++- ...onConfigurationOverrideDefaultSerializerTests.java | 7 ++++++- ...ssionConfigurationOverrideSessionTaskExecutor.java | 3 +++ ...sionConfigurationOverrideSessionTaskExecutors.java | 4 ++++ .../web/http/RedisHttpSessionConfigurationTests.java | 10 ++++++++-- ...sHttpSessionConfigurationXmlCustomExpireTests.java | 6 +++++- .../http/RedisHttpSessionConfigurationXmlTests.java | 6 +++++- .../config/annotation/web/http/gh109/Gh109Tests.java | 8 ++++++-- 11 files changed, 59 insertions(+), 16 deletions(-) diff --git a/docs/src/test/java/docs/http/AbstractHttpSessionListenerTests.java b/docs/src/test/java/docs/http/AbstractHttpSessionListenerTests.java index 7ea8fb7d..e85d06fe 100644 --- a/docs/src/test/java/docs/http/AbstractHttpSessionListenerTests.java +++ b/docs/src/test/java/docs/http/AbstractHttpSessionListenerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2014-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,8 @@ package docs.http; +import java.util.Properties; + import org.junit.Test; import org.junit.runner.RunWith; @@ -31,11 +33,13 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; /** * @author Rob Winch + * @author Mark Paluch * @since 1.2 */ @RunWith(SpringJUnit4ClassRunner.class) @@ -63,6 +67,7 @@ public abstract class AbstractHttpSessionListenerTests { RedisConnection connection = mock(RedisConnection.class); given(factory.getConnection()).willReturn(connection); + given(connection.getConfig(anyString())).willReturn(new Properties()); return factory; } diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/ConfigureNotifyKeyspaceEventsAction.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/ConfigureNotifyKeyspaceEventsAction.java index 02a62996..fb4031ac 100644 --- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/ConfigureNotifyKeyspaceEventsAction.java +++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/config/ConfigureNotifyKeyspaceEventsAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2014-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,7 +16,7 @@ package org.springframework.session.data.redis.config; -import java.util.List; +import java.util.Properties; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.redis.connection.RedisConnection; @@ -38,6 +38,7 @@ import org.springframework.data.redis.connection.RedisConnection; *

* * @author Rob Winch + * @author Mark Paluch * @since 1.0.1 */ public class ConfigureNotifyKeyspaceEventsAction implements ConfigureRedisAction { @@ -71,11 +72,11 @@ public class ConfigureNotifyKeyspaceEventsAction implements ConfigureRedisAction private String getNotifyOptions(RedisConnection connection) { try { - List config = connection.getConfig(CONFIG_NOTIFY_KEYSPACE_EVENTS); - if (config.size() < 2) { + Properties config = connection.getConfig(CONFIG_NOTIFY_KEYSPACE_EVENTS); + if (config.isEmpty()) { return ""; } - return config.get(1); + return config.getProperty(config.stringPropertyNames().iterator().next()); } catch (InvalidDataAccessApiUsageException e) { throw new IllegalStateException( diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisKeyspaceNotificationsInitializerTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisKeyspaceNotificationsInitializerTests.java index c0b1a3ad..42a8c853 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisKeyspaceNotificationsInitializerTests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/EnableRedisKeyspaceNotificationsInitializerTests.java @@ -16,7 +16,7 @@ package org.springframework.session.data.redis.config.annotation.web.http; -import java.util.Arrays; +import java.util.Properties; import org.junit.Before; import org.junit.Test; @@ -167,7 +167,9 @@ public class EnableRedisKeyspaceNotificationsInitializerTests { } private void setConfigNotification(String value) { + Properties properties = new Properties(); + properties.setProperty(CONFIG_NOTIFY_KEYSPACE_EVENTS, value); given(this.connection.getConfig(CONFIG_NOTIFY_KEYSPACE_EVENTS)) - .willReturn(Arrays.asList(CONFIG_NOTIFY_KEYSPACE_EVENTS, value)); + .willReturn(properties); } } diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationClassPathXmlApplicationContextTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationClassPathXmlApplicationContextTests.java index 94b0178d..10971c67 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationClassPathXmlApplicationContextTests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationClassPathXmlApplicationContextTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2014-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,8 @@ package org.springframework.session.data.redis.config.annotation.web.http; +import java.util.Properties; + import org.junit.Test; import org.junit.runner.RunWith; @@ -24,11 +26,13 @@ import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; /** * @author Rob Winch + * @author Mark Paluch * */ @RunWith(SpringJUnit4ClassRunner.class) @@ -44,6 +48,7 @@ public class RedisHttpSessionConfigurationClassPathXmlApplicationContextTests { RedisConnectionFactory factory = mock(RedisConnectionFactory.class); RedisConnection connection = mock(RedisConnection.class); given(factory.getConnection()).willReturn(connection); + given(connection.getConfig(anyString())).willReturn(new Properties()); return factory; } diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideDefaultSerializerTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideDefaultSerializerTests.java index 08f0fcce..51796840 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideDefaultSerializerTests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideDefaultSerializerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2014-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,8 @@ package org.springframework.session.data.redis.config.annotation.web.http; +import java.util.Properties; + import org.junit.Test; import org.junit.runner.RunWith; @@ -31,11 +33,13 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; /** * @author Rob Winch + * @author Mark Paluch * */ @RunWith(SpringJUnit4ClassRunner.class) @@ -69,6 +73,7 @@ public class RedisHttpSessionConfigurationOverrideDefaultSerializerTests { RedisConnectionFactory factory = mock(RedisConnectionFactory.class); RedisConnection connection = mock(RedisConnection.class); given(factory.getConnection()).willReturn(connection); + given(connection.getConfig(anyString())).willReturn(new Properties()); return factory; } diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideSessionTaskExecutor.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideSessionTaskExecutor.java index 3556ed7a..98a008c9 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideSessionTaskExecutor.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideSessionTaskExecutor.java @@ -16,6 +16,7 @@ package org.springframework.session.data.redis.config.annotation.web.http; +import java.util.Properties; import java.util.concurrent.Executor; import org.junit.Test; @@ -33,6 +34,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; @@ -72,6 +74,7 @@ public class RedisHttpSessionConfigurationOverrideSessionTaskExecutor { RedisConnectionFactory factory = mock(RedisConnectionFactory.class); RedisConnection connection = mock(RedisConnection.class); given(factory.getConnection()).willReturn(connection); + given(connection.getConfig(anyString())).willReturn(new Properties()); return factory; } diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideSessionTaskExecutors.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideSessionTaskExecutors.java index 49c94012..faee3810 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideSessionTaskExecutors.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationOverrideSessionTaskExecutors.java @@ -16,6 +16,7 @@ package org.springframework.session.data.redis.config.annotation.web.http; +import java.util.Properties; import java.util.concurrent.Executor; import org.junit.Test; @@ -33,6 +34,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; @@ -41,6 +43,7 @@ import static org.mockito.Mockito.verify; /** * @author Vladimir Tsanev + * @author Mark Paluch * */ @RunWith(SpringJUnit4ClassRunner.class) @@ -82,6 +85,7 @@ public class RedisHttpSessionConfigurationOverrideSessionTaskExecutors { RedisConnectionFactory factory = mock(RedisConnectionFactory.class); RedisConnection connection = mock(RedisConnection.class); given(factory.getConnection()).willReturn(connection); + given(connection.getConfig(anyString())).willReturn(new Properties()); return factory; } diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationTests.java index ba72159e..869ab422 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationTests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2014-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,8 @@ package org.springframework.session.data.redis.config.annotation.web.http; +import java.util.Properties; + import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -30,11 +32,13 @@ import org.springframework.mock.env.MockEnvironment; import org.springframework.test.util.ReflectionTestUtils; import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; /** * @author EddĂș MelĂ©ndez + * @author Mark Paluch */ public class RedisHttpSessionConfigurationTests { @@ -88,7 +92,9 @@ public class RedisHttpSessionConfigurationTests { @Bean public RedisConnectionFactory redisConnectionFactory() { RedisConnectionFactory connectionFactory = mock(RedisConnectionFactory.class); - given(connectionFactory.getConnection()).willReturn(mock(RedisConnection.class)); + RedisConnection connection = mock(RedisConnection.class); + given(connectionFactory.getConnection()).willReturn(connection); + given(connection.getConfig(anyString())).willReturn(new Properties()); return connectionFactory; } diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationXmlCustomExpireTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationXmlCustomExpireTests.java index 9bfc91ef..35068c57 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationXmlCustomExpireTests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationXmlCustomExpireTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2014-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,8 @@ package org.springframework.session.data.redis.config.annotation.web.http; +import java.util.Properties; + import org.junit.Test; import org.junit.runner.RunWith; @@ -25,6 +27,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; @@ -41,6 +44,7 @@ public class RedisHttpSessionConfigurationXmlCustomExpireTests { RedisConnectionFactory factory = mock(RedisConnectionFactory.class); RedisConnection connection = mock(RedisConnection.class); given(factory.getConnection()).willReturn(connection); + given(connection.getConfig(anyString())).willReturn(new Properties()); return factory; } diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationXmlTests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationXmlTests.java index afbe3bb8..77d1b4f4 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationXmlTests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfigurationXmlTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2014-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,8 @@ package org.springframework.session.data.redis.config.annotation.web.http; +import java.util.Properties; + import org.junit.Test; import org.junit.runner.RunWith; @@ -25,6 +27,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; @@ -41,6 +44,7 @@ public class RedisHttpSessionConfigurationXmlTests { RedisConnectionFactory factory = mock(RedisConnectionFactory.class); RedisConnection connection = mock(RedisConnection.class); given(factory.getConnection()).willReturn(connection); + given(connection.getConfig(anyString())).willReturn(new Properties()); return factory; } diff --git a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/gh109/Gh109Tests.java b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/gh109/Gh109Tests.java index e579bd31..58667330 100644 --- a/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/gh109/Gh109Tests.java +++ b/spring-session-data-redis/src/test/java/org/springframework/session/data/redis/config/annotation/web/http/gh109/Gh109Tests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2016 the original author or authors. + * Copyright 2014-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,8 @@ package org.springframework.session.data.redis.config.annotation.web.http.gh109; +import java.util.Properties; + import org.junit.Test; import org.junit.runner.RunWith; @@ -31,6 +33,7 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; @@ -38,6 +41,7 @@ import static org.mockito.Mockito.mock; * This test must be in a different package than RedisHttpSessionConfiguration. * * @author Rob Winch + * @author Mark Paluch * @since 1.0.2 */ @RunWith(SpringJUnit4ClassRunner.class) @@ -73,8 +77,8 @@ public class Gh109Tests { public RedisConnectionFactory redisConnectionFactory() { RedisConnectionFactory factory = mock(RedisConnectionFactory.class); RedisConnection connection = mock(RedisConnection.class); - given(factory.getConnection()).willReturn(connection); + given(connection.getConfig(anyString())).willReturn(new Properties()); return factory; } }