Skip to content

Commit 6bdb8e3

Browse files
committed
Fixed Tests for checking JDBC Params usage
1 parent 5afcba4 commit 6bdb8e3

File tree

1 file changed

+27
-17
lines changed

1 file changed

+27
-17
lines changed

modules/jdbc-test/src/test/java/org/testcontainers/jdbc/JDBCDriverTest.java

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,27 +32,29 @@ public class JDBCDriverTest {
3232
public boolean performTestForCharacterSet;
3333
@Parameter(3)
3434
public boolean performTestForCustomIniFile;
35+
@Parameter(4)
36+
public boolean performTestForJDBCParams;
3537

3638
@Parameterized.Parameters(name = "{index} - {0}")
3739
public static Iterable<Object[]> data() {
3840
return asList(
3941
new Object[][]{
40-
{"jdbc:tc:mysql:5.5.43://hostname/databasename", false, false, false},
41-
{"jdbc:tc:mysql://hostname/databasename?user=someuser&password=somepwd&TC_INITSCRIPT=somepath/init_mysql.sql", true, false, false},
42-
{"jdbc:tc:mysql://hostname/databasename?user=someuser&password=somepwd&TC_INITFUNCTION=org.testcontainers.jdbc.JDBCDriverTest::sampleInitFunction", true, false, false},
43-
{"jdbc:tc:mysql://hostname/databasename?TC_INITSCRIPT=somepath/init_mysql.sql", true, false, false},
44-
{"jdbc:tc:mysql://hostname/databasename?TC_INITFUNCTION=org.testcontainers.jdbc.JDBCDriverTest::sampleInitFunction", true, false, false},
45-
{"jdbc:tc:mysql://hostname/databasename?useUnicode=yes&characterEncoding=utf8", false, true, false},
46-
{"jdbc:tc:mysql://hostname/databasename", false, false, false},
47-
{"jdbc:tc:mysql://hostname/databasename?useSSL=false", false, false, false},
48-
{"jdbc:tc:postgresql://hostname/databasename", false, false, false},
49-
{"jdbc:tc:mysql:5.6://hostname/databasename?TC_MY_CNF=somepath/mysql_conf_override", false, false, true},
50-
{"jdbc:tc:mariadb:10.1.16://hostname/databasename", false, false, false},
51-
{"jdbc:tc:mariadb://hostname/databasename", false, false, false},
52-
{"jdbc:tc:mariadb://hostname/databasename?useUnicode=yes&characterEncoding=utf8", false, true, false},
53-
{"jdbc:tc:mariadb://hostname/databasename?TC_INITSCRIPT=somepath/init_mariadb.sql", true, false, false},
54-
{"jdbc:tc:mariadb://hostname/databasename?TC_INITFUNCTION=org.testcontainers.jdbc.JDBCDriverTest::sampleInitFunction", true, false, false},
55-
{"jdbc:tc:mariadb:10.1.16://hostname/databasename?TC_MY_CNF=somepath/mariadb_conf_override", false, false, true}
42+
{"jdbc:tc:mysql:5.5.43://hostname/databasename", false, false, false, false},
43+
{"jdbc:tc:mysql://hostname/databasename?user=someuser&password=somepwd&TC_INITSCRIPT=somepath/init_mysql.sql", true, false, false, true},
44+
{"jdbc:tc:mysql://hostname/databasename?user=someuser&password=somepwd&TC_INITFUNCTION=org.testcontainers.jdbc.JDBCDriverTest::sampleInitFunction", true, false, false, true},
45+
{"jdbc:tc:mysql://hostname/databasename?user=someuser&password=somepwd&TC_INITSCRIPT=somepath/init_mysql.sql", true, false, false, true},
46+
{"jdbc:tc:mysql://hostname/databasename?user=someuser&password=somepwd&TC_INITFUNCTION=org.testcontainers.jdbc.JDBCDriverTest::sampleInitFunction", true, false, false, true},
47+
{"jdbc:tc:mysql://hostname/databasename?useUnicode=yes&characterEncoding=utf8", false, true, false, false},
48+
{"jdbc:tc:mysql://hostname/databasename", false, false, false, false},
49+
{"jdbc:tc:mysql://hostname/databasename?useSSL=false", false, false, false, false},
50+
{"jdbc:tc:postgresql://hostname/databasename", false, false, false, false},
51+
{"jdbc:tc:mysql:5.6://hostname/databasename?TC_MY_CNF=somepath/mysql_conf_override", false, false, true, false},
52+
{"jdbc:tc:mariadb:10.1.16://hostname/databasename", false, false, false, false},
53+
{"jdbc:tc:mariadb://hostname/databasename", false, false, false, false},
54+
{"jdbc:tc:mariadb://hostname/databasename?useUnicode=yes&characterEncoding=utf8", false, true, false, false},
55+
{"jdbc:tc:mariadb://hostname/databasename?TC_INITSCRIPT=somepath/init_mariadb.sql", true, false, false, false},
56+
{"jdbc:tc:mariadb://hostname/databasename?TC_INITFUNCTION=org.testcontainers.jdbc.JDBCDriverTest::sampleInitFunction", true, false, false, false},
57+
{"jdbc:tc:mariadb:10.1.16://hostname/databasename?TC_MY_CNF=somepath/mariadb_conf_override", false, false, true, false}
5658
});
5759
}
5860

@@ -79,6 +81,10 @@ public void test() throws SQLException {
7981
performTestForScriptedSchema(jdbcUrl);
8082
}
8183

84+
if (performTestForJDBCParams) {
85+
performTestForJDBCParamUsage(jdbcUrl);
86+
}
87+
8288
if (performTestForCharacterSet) {
8389
//Called twice to ensure that the query string parameters are used when
8490
//connections are created from cached containers.
@@ -112,8 +118,12 @@ private void performTestForScriptedSchema(String jdbcUrl) throws SQLException {
112118
assertEquals("A basic SELECT query succeeds where the schema has been applied from a script", "hello world", resultSetString);
113119
return true;
114120
});
121+
}
122+
}
115123

116-
result = new QueryRunner(dataSource).query("select CURRENT_USER()", rs -> {
124+
private void performTestForJDBCParamUsage(String jdbcUrl) throws SQLException {
125+
try (HikariDataSource dataSource = getDataSource(jdbcUrl, 1)) {
126+
boolean result = new QueryRunner(dataSource).query("select CURRENT_USER()", rs -> {
117127
rs.next();
118128
String resultUser = rs.getString(1);
119129
assertEquals("User from query param is created.", "someuser@%", resultUser);

0 commit comments

Comments
 (0)