From 91ca16ffef864b15b32a531a36e4d2dfbd9d587d Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Wed, 5 May 2021 16:03:42 +0200 Subject: [PATCH] Upgrades MySql for testing to 8.0.24. This version of the docker container doesn't allow to use `root` as the database user name. We still have to connect as `root` so we can create alternative schemata. --- .../testing/MySqlDataSourceConfiguration.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java index cde066512..cf14ec974 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/MySqlDataSourceConfiguration.java @@ -52,9 +52,9 @@ class MySqlDataSourceConfiguration extends DataSourceConfiguration { if (MYSQL_CONTAINER == null) { - MySQLContainer container = new MySQLContainer<>() - .withUsername("root") - .withPassword("") + MySQLContainer container = new MySQLContainer<>("mysql:8.0.24") + .withUsername("test") + .withPassword("test") .withConfigurationOverride(""); container.start(); @@ -64,7 +64,7 @@ class MySqlDataSourceConfiguration extends DataSourceConfiguration { MysqlDataSource dataSource = new MysqlDataSource(); dataSource.setUrl(MYSQL_CONTAINER.getJdbcUrl()); - dataSource.setUser(MYSQL_CONTAINER.getUsername()); + dataSource.setUser("root"); dataSource.setPassword(MYSQL_CONTAINER.getPassword()); dataSource.setDatabaseName(MYSQL_CONTAINER.getDatabaseName()); @@ -79,4 +79,15 @@ class MySqlDataSourceConfiguration extends DataSourceConfiguration { new ByteArrayResource("DROP DATABASE test;CREATE DATABASE test;".getBytes())); } } + + private DataSource createRootDataSource() { + + MysqlDataSource dataSource = new MysqlDataSource(); + dataSource.setUrl(MYSQL_CONTAINER.getJdbcUrl()); + dataSource.setUser("root"); + dataSource.setPassword(MYSQL_CONTAINER.getPassword()); + dataSource.setDatabaseName(MYSQL_CONTAINER.getDatabaseName()); + + return dataSource; + } }