From d3445cbf18f036240d4dbb413e20d1488d748a71 Mon Sep 17 00:00:00 2001 From: Mitch Just Date: Wed, 25 Mar 2020 12:26:13 +1100 Subject: [PATCH] Move static config in modules to constructor --- .../containers/ClickHouseContainer.java | 3 --- .../testcontainers/containers/Db2Container.java | 4 ++-- .../containers/InfluxDBContainer.java | 4 ++-- .../containers/MariaDBContainer.java | 4 ++-- .../containers/MSSQLServerContainer.java | 4 +--- .../testcontainers/containers/MySQLContainer.java | 2 +- .../testcontainers/containers/Neo4jContainer.java | 4 ++-- .../testcontainers/containers/NginxContainer.java | 15 ++++++++------- .../containers/OracleContainer.java | 6 +----- .../containers/OrientDBContainer.java | 3 ++- .../containers/PostgreSQLContainer.java | 3 ++- .../containers/PrestoContainer.java | 7 ++----- 12 files changed, 25 insertions(+), 34 deletions(-) diff --git a/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java b/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java index 0fd6174bf3b..9364ecc4d14 100644 --- a/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java +++ b/modules/clickhouse/src/main/java/org/testcontainers/containers/ClickHouseContainer.java @@ -26,10 +26,7 @@ public ClickHouseContainer() { public ClickHouseContainer(String dockerImageName) { super(dockerImageName); - } - @Override - protected void configure() { withExposedPorts(HTTP_PORT, NATIVE_PORT); waitingFor( new HttpWaitStrategy() diff --git a/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java b/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java index 429cc060094..13ef72c328e 100644 --- a/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java +++ b/modules/db2/src/main/java/org/testcontainers/containers/Db2Container.java @@ -37,6 +37,8 @@ public Db2Container(String imageName) { this.waitStrategy = new LogMessageWaitStrategy() .withRegEx(".*Setup has completed\\..*") .withStartupTimeout(Duration.of(10, ChronoUnit.MINUTES)); + + addExposedPort(DB2_PORT); } @Override @@ -52,8 +54,6 @@ protected void configure() { acceptLicense(); } - addExposedPort(DB2_PORT); - addEnv("DBNAME", databaseName); addEnv("DB2INSTANCE", username); addEnv("DB2INST1_PASSWORD", password); diff --git a/modules/influxdb/src/main/java/org/testcontainers/containers/InfluxDBContainer.java b/modules/influxdb/src/main/java/org/testcontainers/containers/InfluxDBContainer.java index ee5b449f961..c3ac909f2d4 100644 --- a/modules/influxdb/src/main/java/org/testcontainers/containers/InfluxDBContainer.java +++ b/modules/influxdb/src/main/java/org/testcontainers/containers/InfluxDBContainer.java @@ -36,12 +36,12 @@ public InfluxDBContainer(final String version) { waitStrategy = new WaitAllStrategy() .withStrategy(Wait.forHttp("/ping").withBasicCredentials(username, password).forStatusCode(204)) .withStrategy(Wait.forListeningPort()); + + addExposedPort(INFLUXDB_PORT); } @Override protected void configure() { - addExposedPort(INFLUXDB_PORT); - addEnv("INFLUXDB_ADMIN_USER", admin); addEnv("INFLUXDB_ADMIN_PASSWORD", adminPassword); diff --git a/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java b/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java index c41136c0bf2..be1b3d3d44d 100644 --- a/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java +++ b/modules/mariadb/src/main/java/org/testcontainers/containers/MariaDBContainer.java @@ -24,6 +24,7 @@ public MariaDBContainer() { public MariaDBContainer(String dockerImageName) { super(dockerImageName); + addExposedPort(MARIADB_PORT); } @Override @@ -35,7 +36,6 @@ protected Integer getLivenessCheckPort() { protected void configure() { optionallyMapResourceParameterAsVolume(MY_CNF_CONFIG_OVERRIDE_PARAM_NAME, "/etc/mysql/conf.d", "mariadb-default-conf"); - addExposedPort(MARIADB_PORT); addEnv("MYSQL_DATABASE", databaseName); addEnv("MYSQL_USER", username); if (password != null && !password.isEmpty()) { @@ -83,7 +83,7 @@ public SELF withConfigurationOverride(String s) { parameters.put(MY_CNF_CONFIG_OVERRIDE_PARAM_NAME, s); return self(); } - + @Override public SELF withDatabaseName(final String databaseName) { this.databaseName = databaseName; diff --git a/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java b/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java index ad1a7d19090..afe3f5b8651 100644 --- a/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java +++ b/modules/mssqlserver/src/main/java/org/testcontainers/containers/MSSQLServerContainer.java @@ -36,6 +36,7 @@ public MSSQLServerContainer(final String dockerImageName) { super(dockerImageName); withStartupTimeoutSeconds(DEFAULT_STARTUP_TIMEOUT_SECONDS); withConnectTimeoutSeconds(DEFAULT_CONNECT_TIMEOUT_SECONDS); + addExposedPort(MS_SQL_SERVER_PORT); } @Override @@ -45,11 +46,8 @@ protected Integer getLivenessCheckPort() { @Override protected void configure() { - addExposedPort(MS_SQL_SERVER_PORT); - LicenseAcceptance.assertLicenseAccepted(this.getDockerImageName()); addEnv("ACCEPT_EULA", "Y"); - addEnv("SA_PASSWORD", password); } diff --git a/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java b/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java index fa2e8626b0d..a8549672ff3 100644 --- a/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java +++ b/modules/mysql/src/main/java/org/testcontainers/containers/MySQLContainer.java @@ -27,6 +27,7 @@ public MySQLContainer() { public MySQLContainer(String dockerImageName) { super(dockerImageName); + addExposedPort(MYSQL_PORT); } @NotNull @@ -40,7 +41,6 @@ protected void configure() { optionallyMapResourceParameterAsVolume(MY_CNF_CONFIG_OVERRIDE_PARAM_NAME, "/etc/mysql/conf.d", "mysql-default-conf"); - addExposedPort(MYSQL_PORT); addEnv("MYSQL_DATABASE", databaseName); addEnv("MYSQL_USER", username); if (password != null && !password.isEmpty()) { diff --git a/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java b/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java index fc545122219..0c16927dba8 100644 --- a/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java +++ b/modules/neo4j/src/main/java/org/testcontainers/containers/Neo4jContainer.java @@ -87,6 +87,8 @@ public Neo4jContainer(String dockerImageName) { .withStrategy(waitForBolt) .withStrategy(waitForHttp) .withStartupTimeout(Duration.ofMinutes(2)); + + addExposedPorts(DEFAULT_BOLT_PORT, DEFAULT_HTTP_PORT, DEFAULT_HTTPS_PORT); } @Override @@ -100,8 +102,6 @@ public Set getLivenessCheckPortNumbers() { @Override protected void configure() { - addExposedPorts(DEFAULT_BOLT_PORT, DEFAULT_HTTP_PORT, DEFAULT_HTTPS_PORT); - boolean emptyAdminPassword = this.adminPassword == null || this.adminPassword.isEmpty(); String neo4jAuth = emptyAdminPassword ? "none" : String.format(AUTH_FORMAT, this.adminPassword); addEnv("NEO4J_AUTH", neo4jAuth); diff --git a/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java b/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java index 1badffa1cee..bedf040869f 100644 --- a/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java +++ b/modules/nginx/src/main/java/org/testcontainers/containers/NginxContainer.java @@ -16,7 +16,14 @@ public class NginxContainer> extends GenericCo private static final int NGINX_DEFAULT_PORT = 80; public NginxContainer() { - super("nginx:1.9.4"); + this("nginx:1.9.4"); + } + + public NginxContainer(String dockerImageName) { + super(dockerImageName); + + addExposedPort(NGINX_DEFAULT_PORT); + setCommand("nginx", "-g", "daemon off;"); } @NotNull @@ -25,12 +32,6 @@ protected Set getLivenessCheckPorts() { return Collections.singleton(getMappedPort(80)); } - @Override - protected void configure() { - addExposedPort(NGINX_DEFAULT_PORT); - setCommand("nginx", "-g", "daemon off;"); - } - public URL getBaseUrl(String scheme, int port) throws MalformedURLException { return new URL(scheme + "://" + getContainerIpAddress() + ":" + getMappedPort(port)); } diff --git a/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java b/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java index ea0eee1a2ff..bad22af2511 100644 --- a/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java +++ b/modules/oracle-xe/src/main/java/org/testcontainers/containers/OracleContainer.java @@ -46,6 +46,7 @@ public OracleContainer(Future dockerImageName) { super(dockerImageName); withStartupTimeoutSeconds(DEFAULT_STARTUP_TIMEOUT_SECONDS); withConnectTimeoutSeconds(DEFAULT_CONNECT_TIMEOUT_SECONDS); + addExposedPorts(ORACLE_PORT, APEX_HTTP_PORT); } @Override @@ -53,11 +54,6 @@ protected Integer getLivenessCheckPort() { return getMappedPort(ORACLE_PORT); } - @Override - protected void configure() { - addExposedPorts(ORACLE_PORT, APEX_HTTP_PORT); - } - @Override public String getDriverClassName() { return "oracle.jdbc.OracleDriver"; diff --git a/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java b/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java index b368d96bf8c..ca0180640ce 100644 --- a/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java +++ b/modules/orientdb/src/main/java/org/testcontainers/containers/OrientDBContainer.java @@ -66,11 +66,12 @@ public OrientDBContainer(@NonNull String dockerImageName) { .withStrategy(Wait.forListeningPort()) .withStrategy(waitForHttp) .withStartupTimeout(Duration.ofMinutes(2)); + + addExposedPorts(DEFAULT_BINARY_PORT, DEFAULT_HTTP_PORT); } @Override protected void configure() { - addExposedPorts(DEFAULT_BINARY_PORT, DEFAULT_HTTP_PORT); addEnv("ORIENTDB_ROOT_PASSWORD", serverPassword); } diff --git a/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java b/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java index cef66d0c492..0fae3a16f4a 100644 --- a/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java +++ b/modules/postgresql/src/main/java/org/testcontainers/containers/PostgreSQLContainer.java @@ -38,6 +38,8 @@ public PostgreSQLContainer(final String dockerImageName) { .withTimes(2) .withStartupTimeout(Duration.of(60, SECONDS)); this.setCommand("postgres", "-c", FSYNC_OFF_OPTION); + + addExposedPort(POSTGRESQL_PORT); } @NotNull @@ -48,7 +50,6 @@ protected Set getLivenessCheckPorts() { @Override protected void configure() { - addExposedPort(POSTGRESQL_PORT); addEnv("POSTGRES_DB", databaseName); addEnv("POSTGRES_USER", username); addEnv("POSTGRES_PASSWORD", password); diff --git a/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java b/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java index 186acb18af6..0f2a82b9b9d 100644 --- a/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java +++ b/modules/presto/src/main/java/org/testcontainers/containers/PrestoContainer.java @@ -32,6 +32,8 @@ public PrestoContainer(final String dockerImageName) { this.waitStrategy = new LogMessageWaitStrategy() .withRegEx(".*io.prestosql.server.PrestoServer\\s+======== SERVER STARTED ========.*") .withStartupTimeout(Duration.of(60, SECONDS)); + + addExposedPort(PRESTO_PORT); } @NotNull @@ -40,11 +42,6 @@ protected Set getLivenessCheckPorts() { return new HashSet<>(getMappedPort(PRESTO_PORT)); } - @Override - protected void configure() { - addExposedPort(PRESTO_PORT); - } - @Override public String getDriverClassName() { return "io.prestosql.jdbc.PrestoDriver";