diff --git a/samples/boot/findbyusername/src/integration-test/java/sample/FindByUsernameTests.java b/samples/boot/findbyusername/src/integration-test/java/sample/FindByUsernameTests.java index 32ad62d9..17a9ec07 100644 --- a/samples/boot/findbyusername/src/integration-test/java/sample/FindByUsernameTests.java +++ b/samples/boot/findbyusername/src/integration-test/java/sample/FindByUsernameTests.java @@ -49,7 +49,7 @@ import org.springframework.test.web.servlet.htmlunit.webdriver.MockMvcHtmlUnitDr @ContextConfiguration(initializers = FindByUsernameTests.Initializer.class) public class FindByUsernameTests { - private static final String DOCKER_IMAGE = "redis:3.2.9"; + private static final String DOCKER_IMAGE = "redis:4.0.2"; @ClassRule public static GenericContainer redisContainer = new GenericContainer(DOCKER_IMAGE) diff --git a/samples/boot/redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java b/samples/boot/redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java index 21de665b..b95a1668 100644 --- a/samples/boot/redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java +++ b/samples/boot/redis-json/src/integration-test/java/sample/HttpRedisJsonTest.java @@ -53,7 +53,7 @@ import static org.assertj.core.api.Assertions.assertThat; @ContextConfiguration(initializers = HttpRedisJsonTest.Initializer.class) public class HttpRedisJsonTest { - private static final String DOCKER_IMAGE = "redis:3.2.9"; + private static final String DOCKER_IMAGE = "redis:4.0.2"; @ClassRule public static GenericContainer redisContainer = new GenericContainer(DOCKER_IMAGE) diff --git a/samples/boot/redis-json/src/integration-test/java/sample/RedisSerializerTest.java b/samples/boot/redis-json/src/integration-test/java/sample/RedisSerializerTest.java index c3aa04f1..a52cc4c6 100644 --- a/samples/boot/redis-json/src/integration-test/java/sample/RedisSerializerTest.java +++ b/samples/boot/redis-json/src/integration-test/java/sample/RedisSerializerTest.java @@ -42,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThat; @ContextConfiguration(initializers = RedisSerializerTest.Initializer.class) public class RedisSerializerTest { - private static final String DOCKER_IMAGE = "redis:3.2.9"; + private static final String DOCKER_IMAGE = "redis:4.0.2"; @ClassRule public static GenericContainer redisContainer = new GenericContainer(DOCKER_IMAGE) diff --git a/samples/boot/redis/src/integration-test/java/sample/BootTests.java b/samples/boot/redis/src/integration-test/java/sample/BootTests.java index 11f2bd17..b46c0c87 100644 --- a/samples/boot/redis/src/integration-test/java/sample/BootTests.java +++ b/samples/boot/redis/src/integration-test/java/sample/BootTests.java @@ -48,7 +48,7 @@ import org.springframework.test.web.servlet.htmlunit.webdriver.MockMvcHtmlUnitDr @ContextConfiguration(initializers = BootTests.Initializer.class) public class BootTests { - private static final String DOCKER_IMAGE = "redis:3.2.9"; + private static final String DOCKER_IMAGE = "redis:4.0.2"; @ClassRule public static GenericContainer redisContainer = new GenericContainer(DOCKER_IMAGE) diff --git a/samples/boot/websocket/src/test/java/sample/ApplicationTests.java b/samples/boot/websocket/src/test/java/sample/ApplicationTests.java index 4142fa8b..1046ab38 100644 --- a/samples/boot/websocket/src/test/java/sample/ApplicationTests.java +++ b/samples/boot/websocket/src/test/java/sample/ApplicationTests.java @@ -55,7 +55,7 @@ import org.springframework.web.socket.sockjs.client.WebSocketTransport; @ContextConfiguration(initializers = ApplicationTests.Initializer.class) public class ApplicationTests { - private static final String DOCKER_IMAGE = "redis:3.2.9"; + private static final String DOCKER_IMAGE = "redis:4.0.2"; @ClassRule public static GenericContainer redisContainer = new GenericContainer(DOCKER_IMAGE) diff --git a/samples/javaconfig/custom-cookie/src/main/java/sample/EmbeddedRedisConfig.java b/samples/javaconfig/custom-cookie/src/main/java/sample/EmbeddedRedisConfig.java index 4e8af65c..5e5265cc 100644 --- a/samples/javaconfig/custom-cookie/src/main/java/sample/EmbeddedRedisConfig.java +++ b/samples/javaconfig/custom-cookie/src/main/java/sample/EmbeddedRedisConfig.java @@ -30,7 +30,7 @@ import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactor @Profile("embedded-redis") public class EmbeddedRedisConfig { - private static final String REDIS_DOCKER_IMAGE = "redis:3.2.9"; + private static final String REDIS_DOCKER_IMAGE = "redis:4.0.2"; @Bean(initMethod = "start") public GenericContainer redisContainer() { diff --git a/samples/javaconfig/redis/src/main/java/sample/EmbeddedRedisConfig.java b/samples/javaconfig/redis/src/main/java/sample/EmbeddedRedisConfig.java index 4e8af65c..5e5265cc 100644 --- a/samples/javaconfig/redis/src/main/java/sample/EmbeddedRedisConfig.java +++ b/samples/javaconfig/redis/src/main/java/sample/EmbeddedRedisConfig.java @@ -30,7 +30,7 @@ import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactor @Profile("embedded-redis") public class EmbeddedRedisConfig { - private static final String REDIS_DOCKER_IMAGE = "redis:3.2.9"; + private static final String REDIS_DOCKER_IMAGE = "redis:4.0.2"; @Bean(initMethod = "start") public GenericContainer redisContainer() { diff --git a/samples/javaconfig/rest/src/integration-test/java/rest/RestMockMvcTests.java b/samples/javaconfig/rest/src/integration-test/java/rest/RestMockMvcTests.java index 372b06e1..c4286928 100644 --- a/samples/javaconfig/rest/src/integration-test/java/rest/RestMockMvcTests.java +++ b/samples/javaconfig/rest/src/integration-test/java/rest/RestMockMvcTests.java @@ -55,7 +55,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. @WebAppConfiguration public class RestMockMvcTests { - private static final String DOCKER_IMAGE = "redis:3.2.9"; + private static final String DOCKER_IMAGE = "redis:4.0.2"; @ClassRule public static GenericContainer redisContainer = new GenericContainer(DOCKER_IMAGE) diff --git a/samples/javaconfig/rest/src/main/java/sample/EmbeddedRedisConfig.java b/samples/javaconfig/rest/src/main/java/sample/EmbeddedRedisConfig.java index 4e8af65c..5e5265cc 100644 --- a/samples/javaconfig/rest/src/main/java/sample/EmbeddedRedisConfig.java +++ b/samples/javaconfig/rest/src/main/java/sample/EmbeddedRedisConfig.java @@ -30,7 +30,7 @@ import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactor @Profile("embedded-redis") public class EmbeddedRedisConfig { - private static final String REDIS_DOCKER_IMAGE = "redis:3.2.9"; + private static final String REDIS_DOCKER_IMAGE = "redis:4.0.2"; @Bean(initMethod = "start") public GenericContainer redisContainer() { diff --git a/samples/javaconfig/security/src/main/java/sample/EmbeddedRedisConfig.java b/samples/javaconfig/security/src/main/java/sample/EmbeddedRedisConfig.java index 4e8af65c..5e5265cc 100644 --- a/samples/javaconfig/security/src/main/java/sample/EmbeddedRedisConfig.java +++ b/samples/javaconfig/security/src/main/java/sample/EmbeddedRedisConfig.java @@ -30,7 +30,7 @@ import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactor @Profile("embedded-redis") public class EmbeddedRedisConfig { - private static final String REDIS_DOCKER_IMAGE = "redis:3.2.9"; + private static final String REDIS_DOCKER_IMAGE = "redis:4.0.2"; @Bean(initMethod = "start") public GenericContainer redisContainer() { diff --git a/samples/javaconfig/users/src/main/java/sample/EmbeddedRedisConfig.java b/samples/javaconfig/users/src/main/java/sample/EmbeddedRedisConfig.java index 4e8af65c..5e5265cc 100644 --- a/samples/javaconfig/users/src/main/java/sample/EmbeddedRedisConfig.java +++ b/samples/javaconfig/users/src/main/java/sample/EmbeddedRedisConfig.java @@ -30,7 +30,7 @@ import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactor @Profile("embedded-redis") public class EmbeddedRedisConfig { - private static final String REDIS_DOCKER_IMAGE = "redis:3.2.9"; + private static final String REDIS_DOCKER_IMAGE = "redis:4.0.2"; @Bean(initMethod = "start") public GenericContainer redisContainer() { diff --git a/samples/javaconfig/webflux/src/main/java/sample/EmbeddedRedisConfig.java b/samples/javaconfig/webflux/src/main/java/sample/EmbeddedRedisConfig.java index 4e8af65c..5e5265cc 100644 --- a/samples/javaconfig/webflux/src/main/java/sample/EmbeddedRedisConfig.java +++ b/samples/javaconfig/webflux/src/main/java/sample/EmbeddedRedisConfig.java @@ -30,7 +30,7 @@ import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactor @Profile("embedded-redis") public class EmbeddedRedisConfig { - private static final String REDIS_DOCKER_IMAGE = "redis:3.2.9"; + private static final String REDIS_DOCKER_IMAGE = "redis:4.0.2"; @Bean(initMethod = "start") public GenericContainer redisContainer() { diff --git a/samples/xml/redis/src/main/java/sample/EmbeddedRedisConfig.java b/samples/xml/redis/src/main/java/sample/EmbeddedRedisConfig.java index 4e8af65c..5e5265cc 100644 --- a/samples/xml/redis/src/main/java/sample/EmbeddedRedisConfig.java +++ b/samples/xml/redis/src/main/java/sample/EmbeddedRedisConfig.java @@ -30,7 +30,7 @@ import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactor @Profile("embedded-redis") public class EmbeddedRedisConfig { - private static final String REDIS_DOCKER_IMAGE = "redis:3.2.9"; + private static final String REDIS_DOCKER_IMAGE = "redis:4.0.2"; @Bean(initMethod = "start") public GenericContainer redisContainer() { diff --git a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/AbstractRedisITests.java b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/AbstractRedisITests.java index 8985b6bc..9c7a19d2 100644 --- a/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/AbstractRedisITests.java +++ b/spring-session-data-redis/src/integration-test/java/org/springframework/session/data/redis/AbstractRedisITests.java @@ -30,7 +30,7 @@ import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactor */ public abstract class AbstractRedisITests { - private static final String DOCKER_IMAGE = "redis:3.2.9"; + private static final String DOCKER_IMAGE = "redis:4.0.2"; @ClassRule public static GenericContainer redisContainer = new GenericContainer(DOCKER_IMAGE) diff --git a/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MariaDB10JdbcOperationsSessionRepositoryITests.java b/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MariaDB10JdbcOperationsSessionRepositoryITests.java index 21857cba..b36b2e07 100644 --- a/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MariaDB10JdbcOperationsSessionRepositoryITests.java +++ b/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MariaDB10JdbcOperationsSessionRepositoryITests.java @@ -46,7 +46,7 @@ import org.springframework.test.context.web.WebAppConfiguration; public class MariaDB10JdbcOperationsSessionRepositoryITests extends AbstractJdbcOperationsSessionRepositoryITests { - private static final String DOCKER_IMAGE = "mariadb:10.2.7"; + private static final String DOCKER_IMAGE = "mariadb:10.2.9"; @ClassRule public static MariaDBContainer mariaDBContainer = new MariaDBContainer(DOCKER_IMAGE); diff --git a/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MariaDB5JdbcOperationsSessionRepositoryITests.java b/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MariaDB5JdbcOperationsSessionRepositoryITests.java index 8df35af4..333d5ea1 100644 --- a/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MariaDB5JdbcOperationsSessionRepositoryITests.java +++ b/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MariaDB5JdbcOperationsSessionRepositoryITests.java @@ -46,7 +46,7 @@ import org.springframework.test.context.web.WebAppConfiguration; public class MariaDB5JdbcOperationsSessionRepositoryITests extends AbstractJdbcOperationsSessionRepositoryITests { - private static final String DOCKER_IMAGE = "mariadb:5.5.56"; + private static final String DOCKER_IMAGE = "mariadb:5.5.57"; @ClassRule public static MariaDBContainer mariaDBContainer = new MariaDBContainer(DOCKER_IMAGE); diff --git a/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MySQL5JdbcOperationsSessionRepositoryITests.java b/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MySQL5JdbcOperationsSessionRepositoryITests.java index 5d67c813..28dbb4db 100644 --- a/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MySQL5JdbcOperationsSessionRepositoryITests.java +++ b/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/MySQL5JdbcOperationsSessionRepositoryITests.java @@ -43,7 +43,7 @@ import org.springframework.test.context.web.WebAppConfiguration; public class MySQL5JdbcOperationsSessionRepositoryITests extends AbstractJdbcOperationsSessionRepositoryITests { - private static final String DOCKER_IMAGE = "mysql:5.7.18"; + private static final String DOCKER_IMAGE = "mysql:5.7.19"; @ClassRule public static MySQLContainer mySQLContainer = new MySQLContainer(DOCKER_IMAGE); diff --git a/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/PostgreSQL10JdbcOperationsSessionRepositoryITests.java b/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/PostgreSQL10JdbcOperationsSessionRepositoryITests.java new file mode 100644 index 00000000..3c3f5a47 --- /dev/null +++ b/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/PostgreSQL10JdbcOperationsSessionRepositoryITests.java @@ -0,0 +1,78 @@ +/* + * 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.session.jdbc; + +import javax.sql.DataSource; + +import org.junit.ClassRule; +import org.junit.runner.RunWith; +import org.postgresql.ds.PGSimpleDataSource; +import org.testcontainers.containers.PostgreSQLContainer; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.ResourceLoader; +import org.springframework.jdbc.datasource.init.DataSourceInitializer; +import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.web.WebAppConfiguration; + +/** + * Integration tests for {@link JdbcOperationsSessionRepository} using PostgreSQL 10.x + * database. + * + * @author Vedran Pavic + */ +@RunWith(SpringJUnit4ClassRunner.class) +@WebAppConfiguration +@ContextConfiguration +public class PostgreSQL10JdbcOperationsSessionRepositoryITests + extends AbstractJdbcOperationsSessionRepositoryITests { + + private static final String DOCKER_IMAGE = "postgres:10.0"; + + @ClassRule + public static PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer( + DOCKER_IMAGE); + + @Configuration + static class Config extends BaseConfig { + + @Bean + public DataSource dataSource() { + PGSimpleDataSource dataSource = new PGSimpleDataSource(); + dataSource.setUrl(postgreSQLContainer.getJdbcUrl()); + dataSource.setUser(postgreSQLContainer.getUsername()); + dataSource.setPassword(postgreSQLContainer.getPassword()); + return dataSource; + } + + @Bean + public DataSourceInitializer initializer(DataSource dataSource, + ResourceLoader resourceLoader) { + DataSourceInitializer initializer = new DataSourceInitializer(); + initializer.setDataSource(dataSource); + initializer.setDatabasePopulator( + new ResourceDatabasePopulator(resourceLoader.getResource( + "classpath:org/springframework/session/jdbc/schema-postgresql.sql"))); + return initializer; + } + + } + +} diff --git a/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/PostgreSQL9JdbcOperationsSessionRepositoryITests.java b/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/PostgreSQL9JdbcOperationsSessionRepositoryITests.java index de8dcb4b..6f106331 100644 --- a/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/PostgreSQL9JdbcOperationsSessionRepositoryITests.java +++ b/spring-session-jdbc/src/integration-test/java/org/springframework/session/jdbc/PostgreSQL9JdbcOperationsSessionRepositoryITests.java @@ -33,7 +33,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; /** - * Integration tests for {@link JdbcOperationsSessionRepository} using PostgreSQL + * Integration tests for {@link JdbcOperationsSessionRepository} using PostgreSQL 9.x * database. * * @author Vedran Pavic @@ -44,7 +44,7 @@ import org.springframework.test.context.web.WebAppConfiguration; public class PostgreSQL9JdbcOperationsSessionRepositoryITests extends AbstractJdbcOperationsSessionRepositoryITests { - private static final String DOCKER_IMAGE = "postgres:9.6.3"; + private static final String DOCKER_IMAGE = "postgres:9.6.5"; @ClassRule public static PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer(