From f0e2072b7f7f0d723c72d59a1be6a7cf60ddce36 Mon Sep 17 00:00:00 2001 From: Vedran Pavic Date: Fri, 22 Jun 2018 14:55:11 +0200 Subject: [PATCH] Make JdbcDatabaseContainer#getDriverClassName public (#743) --- .../testcontainers/junit/SimpleMySQLTest.java | 19 +++++++++++++++++++ .../containers/JdbcDatabaseContainer.java | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/modules/jdbc-test/src/test/java/org/testcontainers/junit/SimpleMySQLTest.java b/modules/jdbc-test/src/test/java/org/testcontainers/junit/SimpleMySQLTest.java index d1ee8100709..572921d8a1e 100644 --- a/modules/jdbc-test/src/test/java/org/testcontainers/junit/SimpleMySQLTest.java +++ b/modules/jdbc-test/src/test/java/org/testcontainers/junit/SimpleMySQLTest.java @@ -110,9 +110,28 @@ public void testCommandOverride() throws SQLException { } + @Test + public void testMySQL8() throws SQLException { + assumeFalse(SystemUtils.IS_OS_WINDOWS); + MySQLContainer container = new MySQLContainer<>("mysql:8.0.11") + .withCommand("mysqld --default-authentication-plugin=mysql_native_password"); + container.start(); + + try { + ResultSet resultSet = performQuery(container, "SELECT VERSION()"); + String resultSetString = resultSet.getString(1); + + assertTrue("The database version can be set using a container rule parameter", "8.0.11".equals(resultSetString)); + } + finally { + container.stop(); + } + } + @NonNull protected ResultSet performQuery(MySQLContainer containerRule, String sql) throws SQLException { HikariConfig hikariConfig = new HikariConfig(); + hikariConfig.setDriverClassName(containerRule.getDriverClassName()); hikariConfig.setJdbcUrl(containerRule.getJdbcUrl()); hikariConfig.setUsername(containerRule.getUsername()); hikariConfig.setPassword(containerRule.getPassword()); diff --git a/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java b/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java index 77589395c19..5cd62b68220 100644 --- a/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java +++ b/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java @@ -47,7 +47,7 @@ public JdbcDatabaseContainer(@NonNull final Future image) { /** * @return the name of the actual JDBC driver to use */ - protected abstract String getDriverClassName(); + public abstract String getDriverClassName(); /** * @return a JDBC URL that may be used to connect to the dockerized DB