diff --git a/pom.xml b/pom.xml
index 32ea3ff80..d4a06d3ae 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,11 +24,17 @@
2.1.0.BUILD-SNAPSHOT
spring.data.jdbc
-
reuseReports
- 1.8.0.10
-
+ 3.6.2
+ 0.1.4
+ 2.2.8
+ 3.4.4
+ 1.3.1
+ 1.5.1
+ 5.1.41
+ 42.0.0
+
@@ -137,63 +143,63 @@
org.mybatis
mybatis-spring
- 1.3.1
+ ${mybatis-spring.version}
true
org.mybatis
mybatis
- 3.4.4
+ ${mybatis.version}
true
org.hsqldb
hsqldb
- 2.2.8
+ ${hsqldb.version}
test
org.assertj
assertj-core
- 3.6.2
+ ${assertj-core.version}
test
mysql
mysql-connector-java
- 5.1.41
+ ${mysql-connector-java.version}
test
org.postgresql
postgresql
- 42.0.0
+ ${postgresql.version}
test
de.schauderhaft.degraph
degraph-check
- 0.1.4
+ ${degraph-check.version}
test
org.testcontainers
mysql
- 1.5.1
+ ${mysql.version}
test
org.testcontainers
postgresql
- 1.5.1
+ ${mysql.version}
test
diff --git a/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java b/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java
index 6c74213a5..f82203fbe 100644
--- a/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java
+++ b/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java
@@ -31,6 +31,8 @@ import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
/**
* {@link DataSource} setup for MySQL.
*
+ * Starts a docker container with a MySql database and sets up a database name "test" in it.
+ *
* @author Jens Schauder
* @author Oliver Gierke
* @author Sedat Gokcen
@@ -39,10 +41,10 @@ import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
@Profile("mysql")
class MySqlDataSourceConfiguration extends DataSourceConfiguration {
- private static final MySQLContainer MYSQL_CONTAINER = new MySQLContainer();
+ private static final MySQLContainer MYSQL_CONTAINER = new MySQLContainer().withConfigurationOverride("");
static {
- MYSQL_CONTAINER.withConfigurationOverride("mysql_cnf_override").withDatabaseName("test").start();
+ MYSQL_CONTAINER.start();
}
/*
@@ -52,7 +54,10 @@ class MySqlDataSourceConfiguration extends DataSourceConfiguration {
@Override
protected DataSource createDataSource() {
- MysqlDataSource dataSource = getCommonDataSource();
+ MysqlDataSource dataSource = new MysqlDataSource();
+ dataSource.setUrl(MYSQL_CONTAINER.getJdbcUrl());
+ dataSource.setUser(MYSQL_CONTAINER.getUsername());
+ dataSource.setPassword(MYSQL_CONTAINER.getPassword());
dataSource.setDatabaseName(MYSQL_CONTAINER.getDatabaseName());
return dataSource;
@@ -60,18 +65,6 @@ class MySqlDataSourceConfiguration extends DataSourceConfiguration {
@PostConstruct
public void initDatabase() throws SQLException, ScriptException {
-
- MysqlDataSource dataSource = getCommonDataSource();
- ScriptUtils.executeSqlScript(dataSource.getConnection(), null, "DROP DATABASE test;CREATE DATABASE test;");
- }
-
- private MysqlDataSource getCommonDataSource() {
-
- MysqlDataSource dataSource = new MysqlDataSource();
- dataSource.setUrl(MYSQL_CONTAINER.getJdbcUrl());
- dataSource.setUser(MYSQL_CONTAINER.getUsername());
- dataSource.setPassword(MYSQL_CONTAINER.getPassword());
-
- return dataSource;
+ ScriptUtils.executeSqlScript(createDataSource().getConnection(), null, "DROP DATABASE test;CREATE DATABASE test;");
}
}
diff --git a/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java b/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java
index 803033ab0..9adfdca1b 100644
--- a/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java
+++ b/src/test/java/org/springframework/data/jdbc/testing/PostgresDataSourceConfiguration.java
@@ -24,7 +24,9 @@ import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
import org.testcontainers.containers.PostgreSQLContainer;
/**
- * {@link DataSource} setup for PostgreSQL
+ * {@link DataSource} setup for PostgreSQL.
+ *
+ * Starts a docker container with a Postgres database.
*
* @author Jens Schauder
* @author Oliver Gierke
@@ -47,12 +49,12 @@ public class PostgresDataSourceConfiguration extends DataSourceConfiguration {
@Override
protected DataSource createDataSource() {
- PGSimpleDataSource ds = new PGSimpleDataSource();
- ds.setUrl(POSTGRESQL_CONTAINER.getJdbcUrl());
- ds.setUser(POSTGRESQL_CONTAINER.getUsername());
- ds.setPassword(POSTGRESQL_CONTAINER.getPassword());
+ PGSimpleDataSource dataSource = new PGSimpleDataSource();
+ dataSource.setUrl(POSTGRESQL_CONTAINER.getJdbcUrl());
+ dataSource.setUser(POSTGRESQL_CONTAINER.getUsername());
+ dataSource.setPassword(POSTGRESQL_CONTAINER.getPassword());
- return ds;
+ return dataSource;
}
/*
diff --git a/src/test/resources/mysql.cnf b/src/test/resources/mysql.cnf
new file mode 100644
index 000000000..0eea2cf59
--- /dev/null
+++ b/src/test/resources/mysql.cnf
@@ -0,0 +1,4 @@
+[mysqld]
+
+# the only change we make, other params with the comments all together are the default ones.
+lower_case_table_names = 1
\ No newline at end of file
diff --git a/src/test/resources/mysql_cnf_override/mysql.cnf b/src/test/resources/mysql_cnf_override/mysql.cnf
deleted file mode 100644
index 44b3039c4..000000000
--- a/src/test/resources/mysql_cnf_override/mysql.cnf
+++ /dev/null
@@ -1,53 +0,0 @@
-[mysqld]
-
-# the only change we make, other params with the comments all together are the default ones.
-lower_case_table_names = 1
-
-user = mysql
-datadir = /var/lib/mysql
-port = 3306
-#socket = /tmp/mysql.sock
-skip-external-locking
-key_buffer_size = 16K
-max_allowed_packet = 1M
-table_open_cache = 4
-sort_buffer_size = 64K
-read_buffer_size = 256K
-read_rnd_buffer_size = 256K
-net_buffer_length = 2K
-skip-host-cache
-skip-name-resolve
-
-# Don't listen on a TCP/IP port at all. This can be a security enhancement,
-# if all processes that need to connect to mysqld run on the same host.
-# All interaction with mysqld must be made via Unix sockets or named pipes.
-# Note that using this option without enabling named pipes on Windows
-# (using the "enable-named-pipe" option) will render mysqld useless!
-#
-#skip-networking
-#server-id = 1
-
-# Uncomment the following if you want to log updates
-#log-bin=mysql-bin
-
-# binary logging format - mixed recommended
-#binlog_format=mixed
-
-# Causes updates to non-transactional engines using statement format to be
-# written directly to binary log. Before using this option make sure that
-# there are no dependencies between transactional and non-transactional
-# tables such as in the statement INSERT INTO t_myisam SELECT * FROM
-# t_innodb; otherwise, slaves may diverge from the master.
-#binlog_direct_non_transactional_updates=TRUE
-
-# Uncomment the following if you are using InnoDB tables
-innodb_data_file_path = ibdata1:10M:autoextend
-# You can set .._buffer_pool_size up to 50 - 80 %
-# of RAM but beware of setting memory usage too high
-innodb_buffer_pool_size = 16M
-#innodb_additional_mem_pool_size = 2M
-# Set .._log_file_size to 25 % of buffer pool size
-innodb_log_file_size = 5M
-innodb_log_buffer_size = 8M
-innodb_flush_log_at_trx_commit = 1
-innodb_lock_wait_timeout = 50
\ No newline at end of file