Skip to content
This repository was archived by the owner on Oct 13, 2020. It is now read-only.

Commit 7d9c95a

Browse files
committed
#29 - ENH: Add support for mariadb docker test container
1 parent 0d2259e commit 7d9c95a

5 files changed

Lines changed: 57 additions & 3 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<dependency>
3131
<groupId>io.ebean</groupId>
3232
<artifactId>ebean</artifactId>
33-
<version>11.41.2</version>
33+
<version>11.41.4-SNAPSHOT</version>
3434
<scope>provided</scope>
3535
</dependency>
3636

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package io.ebean.test.config.platform;
2+
3+
import java.util.Properties;
4+
5+
class MariaDBSetup implements PlatformSetup {
6+
7+
@Override
8+
public Properties setup(Config config) {
9+
10+
int defaultPort = config.isUseDocker() ? 4306 : 3306;
11+
12+
config.ddlMode("dropCreate");
13+
config.setDefaultPort(defaultPort);
14+
config.setUsernameDefault();
15+
config.setPasswordDefault();
16+
config.setUrl("jdbc:mysql://localhost:${port}/${databaseName}");
17+
config.setDriver(defaultDriver());
18+
config.datasourceDefaults();
19+
20+
return dockerProperties(config);
21+
}
22+
23+
private String defaultDriver() {
24+
try {
25+
String newDriver = "com.mysql.cj.jdbc.Driver";
26+
Class.forName(newDriver);
27+
return newDriver;
28+
} catch (ClassNotFoundException e) {
29+
return "com.mysql.jdbc.Driver";
30+
}
31+
}
32+
33+
private Properties dockerProperties(Config dbConfig) {
34+
35+
if (!dbConfig.isUseDocker()) {
36+
return new Properties();
37+
}
38+
39+
dbConfig.setDockerVersion("10");
40+
return dbConfig.getDockerProperties();
41+
}
42+
43+
@Override
44+
public void setupExtraDbDataSource(Config config) {
45+
// not supported yet
46+
}
47+
48+
@Override
49+
public boolean isLocal() {
50+
return false;
51+
}
52+
53+
}

src/main/java/io/ebean/test/config/platform/PlatformAutoConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public class PlatformAutoConfig {
2727
KNOWN_PLATFORMS.put("postgres", new PostgresSetup());
2828
KNOWN_PLATFORMS.put("postgis", new PostgisSetup());
2929
KNOWN_PLATFORMS.put("mysql", new MySqlSetup());
30+
KNOWN_PLATFORMS.put("mariadb", new MariaDBSetup());
3031
KNOWN_PLATFORMS.put("sqlserver", new SqlServerSetup());
3132
KNOWN_PLATFORMS.put("oracle", new OracleSetup());
3233
KNOWN_PLATFORMS.put("clickhouse", new ClickHouseSetup());

src/test/resources/application-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ ebean:
2626

2727
test:
2828
redis: latest
29-
platform: h2 #, postgres, mysql, oracle, sqlserver, hana
29+
platform: mariadb #, postgres, mysql, mariadb, oracle, sqlserver, hana
3030
# useDocker: false
3131
# dockerMode: dropCreate
3232
ddlMode: dropCreate # none | dropCreate | create | migrations

src/test/resources/logback-test.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
</encoder>
66
</appender>
77

8-
<root level="DEBUG">
8+
<root level="INFO">
99
<appender-ref ref="STDOUT"/>
1010
</root>
1111

0 commit comments

Comments
 (0)