diff --git a/hadoop-unit-client/hadoop-unit-client-commons/src/main/java/fr/jetoile/hadoopunit/client/commons/HadoopUnitClientConfig.java b/hadoop-unit-client/hadoop-unit-client-commons/src/main/java/fr/jetoile/hadoopunit/client/commons/HadoopUnitClientConfig.java index 79e38bd3..3a09352a 100644 --- a/hadoop-unit-client/hadoop-unit-client-commons/src/main/java/fr/jetoile/hadoopunit/client/commons/HadoopUnitClientConfig.java +++ b/hadoop-unit-client/hadoop-unit-client-commons/src/main/java/fr/jetoile/hadoopunit/client/commons/HadoopUnitClientConfig.java @@ -203,14 +203,14 @@ public class HadoopUnitClientConfig { public static final String CONFLUENT_KSQL_PORT_KEY = "confluent.ksql.port"; - //testcontainer - public static final String TESTCONTAINER_IMAGENAME_KEY = "testcontainer.imagename"; - public static final String TESTCONTAINER_EXPOSEDPORTS_KEY = "testcontainer.exposedports"; - public static final String TESTCONTAINER_ENVS_KEY = "testcontainer.envs"; - public static final String TESTCONTAINER_LABELS_KEY = "testcontainer.labels"; - public static final String TESTCONTAINER_COMMAND_KEY = "testcontainer.command"; - public static final String TESTCONTAINER_FIXED_EXPOSEDPORTS_KEY = "testcontainer.fixed.exposedports"; - public static final String TESTCONTAINER_CLASSPATH_RESOURCES_MAPPING_KEY = "testcontainer.classpath.resources.mapping"; + //docker + public static final String DOCKER_IMAGENAME_KEY = "docker.imagename"; + public static final String DOCKER_EXPOSEDPORTS_KEY = "docker.exposedports"; + public static final String DOCKER_ENVS_KEY = "docker.envs"; + public static final String DOCKER_LABELS_KEY = "docker.labels"; + public static final String DOCKER_COMMAND_KEY = "docker.command"; + public static final String DOCKER_FIXED_EXPOSEDPORTS_KEY = "docker.fixed.exposedports"; + public static final String DOCKER_CLASSPATH_RESOURCES_MAPPING_KEY = "docker.classpath.resources.mapping"; private HadoopUnitClientConfig() {} } diff --git a/hadoop-unit-testcontainer/pom.xml b/hadoop-unit-docker/pom.xml similarity index 95% rename from hadoop-unit-testcontainer/pom.xml rename to hadoop-unit-docker/pom.xml index f0944211..5071ffbd 100644 --- a/hadoop-unit-testcontainer/pom.xml +++ b/hadoop-unit-docker/pom.xml @@ -9,7 +9,7 @@ 4.0.0 - hadoop-unit-testcontainer + hadoop-unit-docker 4.12 diff --git a/hadoop-unit-testcontainer/src/main/java/fr/jetoile/hadoopunit/component/TestContainerBootstrap.java b/hadoop-unit-docker/src/main/java/fr/jetoile/hadoopunit/component/DockerBootstrap.java similarity index 71% rename from hadoop-unit-testcontainer/src/main/java/fr/jetoile/hadoopunit/component/TestContainerBootstrap.java rename to hadoop-unit-docker/src/main/java/fr/jetoile/hadoopunit/component/DockerBootstrap.java index 7972298f..b9461cfd 100644 --- a/hadoop-unit-testcontainer/src/main/java/fr/jetoile/hadoopunit/component/TestContainerBootstrap.java +++ b/hadoop-unit-docker/src/main/java/fr/jetoile/hadoopunit/component/DockerBootstrap.java @@ -24,18 +24,14 @@ import org.testcontainers.containers.BindMode; import org.testcontainers.containers.FixedHostPortGenericContainer; import org.testcontainers.containers.GenericContainer; -import org.testcontainers.containers.output.OutputFrame; import org.testcontainers.containers.output.Slf4jLogConsumer; -import org.testcontainers.containers.output.ToStringConsumer; import java.net.URL; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; -public class TestContainerBootstrap implements Bootstrap { - static final private Logger LOGGER = LoggerFactory.getLogger(TestContainerBootstrap.class); +public class DockerBootstrap implements Bootstrap { + static final private Logger LOGGER = LoggerFactory.getLogger(DockerBootstrap.class); private State state = State.STOPPED; private Configuration configuration; @@ -43,15 +39,15 @@ public class TestContainerBootstrap implements Bootstrap { private FixedHostPortGenericContainer container; private String imageName; - private List exposedPorts; - private Map envs; - private Map labels; - private List command; - private Map fixedExposedPorts; - private Map classpathResourceMappings; + private List exposedPorts = new ArrayList<>(); + private Map envs = new HashMap<>(); + private Map labels = new HashMap<>(); + private List command = new ArrayList<>(); + private Map fixedExposedPorts = new HashMap<>(); + private Map classpathResourceMappings = new HashMap<>(); - public TestContainerBootstrap() { + public DockerBootstrap() { try { configuration = HadoopUtils.INSTANCE.loadConfigFile(null); loadConfig(); @@ -60,7 +56,7 @@ public TestContainerBootstrap() { } } - public TestContainerBootstrap(URL url) { + public DockerBootstrap(URL url) { try { configuration = HadoopUtils.INSTANCE.loadConfigFile(url); loadConfig(); @@ -71,7 +67,7 @@ public TestContainerBootstrap(URL url) { @Override public ComponentMetadata getMetadata() { - return new TestContainerMetadata(); + return new DockerMetadata(); } @Override @@ -86,66 +82,66 @@ public String getProperties() { } private void loadConfig() { - imageName = configuration.getString(TestContainerConfig.TESTCONTAINER_IMAGENAME_KEY); + imageName = configuration.getString(DockerConfig.DOCKER_IMAGENAME_KEY); - String[] portsAsString = configuration.getStringArray(TestContainerConfig.TESTCONTAINER_EXPOSEDPORTS_KEY); + String[] portsAsString = configuration.getStringArray(DockerConfig.DOCKER_EXPOSEDPORTS_KEY); exposedPorts = Arrays.asList(portsAsString).stream() .map(Integer::valueOf) .collect(Collectors.toList()); - String[] commandAsString = configuration.getStringArray(TestContainerConfig.TESTCONTAINER_COMMAND_KEY); + String[] commandAsString = configuration.getStringArray(DockerConfig.DOCKER_COMMAND_KEY); command = Arrays.asList(commandAsString).stream() .collect(Collectors.toList()); - String[] envsAsString = configuration.getStringArray(TestContainerConfig.TESTCONTAINER_ENVS_KEY); + String[] envsAsString = configuration.getStringArray(DockerConfig.DOCKER_ENVS_KEY); envs = Arrays.asList(envsAsString).stream().collect(Collectors.toMap(c -> c.split(":")[0], c -> c.split(":")[1])); - String[] labelsAsString = configuration.getStringArray(TestContainerConfig.TESTCONTAINER_LABELS_KEY); + String[] labelsAsString = configuration.getStringArray(DockerConfig.DOCKER_LABELS_KEY); labels = Arrays.asList(labelsAsString).stream().collect(Collectors.toMap(c -> c.split(":")[0], c -> c.split(":")[1])); - String[] fixedExposedPortsString = configuration.getStringArray(TestContainerConfig.TESTCONTAINER_FIXED_EXPOSEDPORTS_KEY); + String[] fixedExposedPortsString = configuration.getStringArray(DockerConfig.DOCKER_FIXED_EXPOSEDPORTS_KEY); fixedExposedPorts = Arrays.asList(fixedExposedPortsString).stream().collect(Collectors.toMap(c -> Integer.valueOf(c.split(":")[0]), c -> Integer.valueOf(c.split(":")[1]))); - String[] classpathResourceMappingsList = configuration.getStringArray(TestContainerConfig.TESTCONTAINER_CLASSPATH_RESOURCES_MAPPING_KEY); + String[] classpathResourceMappingsList = configuration.getStringArray(DockerConfig.DOCKER_CLASSPATH_RESOURCES_MAPPING_KEY); classpathResourceMappings = Arrays.asList(classpathResourceMappingsList).stream().collect(Collectors.toMap(c -> c.split(":")[0], c -> c.substring(c.indexOf(":") + 1))); } @Override public void loadConfig(Map configs) { - if (StringUtils.isNotEmpty(configs.get(TestContainerConfig.TESTCONTAINER_IMAGENAME_KEY))) { - imageName = configs.get(TestContainerConfig.TESTCONTAINER_IMAGENAME_KEY); + if (StringUtils.isNotEmpty(configs.get(DockerConfig.DOCKER_IMAGENAME_KEY))) { + imageName = configs.get(DockerConfig.DOCKER_IMAGENAME_KEY); } - if (StringUtils.isNotEmpty(configs.get(TestContainerConfig.TESTCONTAINER_EXPOSEDPORTS_KEY))) { - String ports = configs.get(TestContainerConfig.TESTCONTAINER_EXPOSEDPORTS_KEY); + if (StringUtils.isNotEmpty(configs.get(DockerConfig.DOCKER_EXPOSEDPORTS_KEY))) { + String ports = configs.get(DockerConfig.DOCKER_EXPOSEDPORTS_KEY); String[] portsAsString = ports.split(","); exposedPorts = Arrays.asList(portsAsString).stream() .map(Integer::valueOf) .collect(Collectors.toList()); } - if (StringUtils.isNotEmpty(configs.get(TestContainerConfig.TESTCONTAINER_COMMAND_KEY))) { - String commandList = configs.get(TestContainerConfig.TESTCONTAINER_COMMAND_KEY); + if (StringUtils.isNotEmpty(configs.get(DockerConfig.DOCKER_COMMAND_KEY))) { + String commandList = configs.get(DockerConfig.DOCKER_COMMAND_KEY); String[] commandAsString = commandList.split(","); command = Arrays.asList(commandAsString).stream() .collect(Collectors.toList()); } - if (StringUtils.isNotEmpty(configs.get(TestContainerConfig.TESTCONTAINER_ENVS_KEY))) { - String envsList = configs.get(TestContainerConfig.TESTCONTAINER_ENVS_KEY); + if (StringUtils.isNotEmpty(configs.get(DockerConfig.DOCKER_ENVS_KEY))) { + String envsList = configs.get(DockerConfig.DOCKER_ENVS_KEY); String[] envsAsString = envsList.split(","); envs = Arrays.asList(envsAsString).stream().collect(Collectors.toMap(c -> c.split(":")[0], c -> c.split(":")[1])); } - if (StringUtils.isNotEmpty(configs.get(TestContainerConfig.TESTCONTAINER_LABELS_KEY))) { - String labelsList = configs.get(TestContainerConfig.TESTCONTAINER_LABELS_KEY); + if (StringUtils.isNotEmpty(configs.get(DockerConfig.DOCKER_LABELS_KEY))) { + String labelsList = configs.get(DockerConfig.DOCKER_LABELS_KEY); String[] labelsAsString = labelsList.split(","); labels = Arrays.asList(labelsAsString).stream().collect(Collectors.toMap(c -> c.split(":")[0], c -> c.split(":")[1])); } - if (StringUtils.isNotEmpty(configs.get(TestContainerConfig.TESTCONTAINER_FIXED_EXPOSEDPORTS_KEY))) { - String fixedExposedPortsList = configs.get(TestContainerConfig.TESTCONTAINER_FIXED_EXPOSEDPORTS_KEY); + if (StringUtils.isNotEmpty(configs.get(DockerConfig.DOCKER_FIXED_EXPOSEDPORTS_KEY))) { + String fixedExposedPortsList = configs.get(DockerConfig.DOCKER_FIXED_EXPOSEDPORTS_KEY); String[] fixedExposedPortsAsString = fixedExposedPortsList.split(","); fixedExposedPorts = Arrays.asList(fixedExposedPortsAsString).stream().collect(Collectors.toMap(c -> Integer.valueOf(c.split(":")[0]), c -> Integer.valueOf(c.split(":")[1]))); } - if (StringUtils.isNotEmpty(configs.get(TestContainerConfig.TESTCONTAINER_CLASSPATH_RESOURCES_MAPPING_KEY))) { - String classpathResourceMappingsList = configs.get(TestContainerConfig.TESTCONTAINER_CLASSPATH_RESOURCES_MAPPING_KEY); + if (StringUtils.isNotEmpty(configs.get(DockerConfig.DOCKER_CLASSPATH_RESOURCES_MAPPING_KEY))) { + String classpathResourceMappingsList = configs.get(DockerConfig.DOCKER_CLASSPATH_RESOURCES_MAPPING_KEY); String[] classpathResourceMappingsAsString = classpathResourceMappingsList.split(","); classpathResourceMappings = Arrays.asList(classpathResourceMappingsAsString).stream().collect(Collectors.toMap(c -> c.split(":")[0], c -> c.substring(c.indexOf(":") + 1))); } @@ -191,7 +187,7 @@ public Bootstrap start() { container.start(); container.followOutput(new Slf4jLogConsumer(LOGGER)); } catch (Throwable e) { - LOGGER.error("unable to add testcontainer", e); + LOGGER.error("unable to add docker", e); } state = State.STARTED; LOGGER.info("{} is started", this.getClass().getName()); @@ -209,7 +205,7 @@ public Bootstrap stop() { try { container.stop(); } catch (Exception e) { - LOGGER.error("unable to stop testcontainer", e); + LOGGER.error("unable to stop docker", e); } state = State.STOPPED; LOGGER.info("{} is stopped", this.getClass().getName()); diff --git a/hadoop-unit-docker/src/main/java/fr/jetoile/hadoopunit/component/DockerConfig.java b/hadoop-unit-docker/src/main/java/fr/jetoile/hadoopunit/component/DockerConfig.java new file mode 100644 index 00000000..a64ca2c1 --- /dev/null +++ b/hadoop-unit-docker/src/main/java/fr/jetoile/hadoopunit/component/DockerConfig.java @@ -0,0 +1,29 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package fr.jetoile.hadoopunit.component; + +public class DockerConfig { + + public static final String DOCKER_IMAGENAME_KEY = "docker.imagename"; + public static final String DOCKER_EXPOSEDPORTS_KEY = "docker.exposedports"; + public static final String DOCKER_ENVS_KEY = "docker.envs"; + public static final String DOCKER_LABELS_KEY = "docker.labels"; + public static final String DOCKER_COMMAND_KEY = "docker.command"; + public static final String DOCKER_FIXED_EXPOSEDPORTS_KEY = "docker.fixed.exposedports"; + public static final String DOCKER_CLASSPATH_RESOURCES_MAPPING_KEY = "docker.classpath.resources.mapping"; + + + private DockerConfig() { + } +} diff --git a/hadoop-unit-docker/src/main/java/fr/jetoile/hadoopunit/component/DockerMetadata.java b/hadoop-unit-docker/src/main/java/fr/jetoile/hadoopunit/component/DockerMetadata.java new file mode 100644 index 00000000..e4816b48 --- /dev/null +++ b/hadoop-unit-docker/src/main/java/fr/jetoile/hadoopunit/component/DockerMetadata.java @@ -0,0 +1,31 @@ +/* + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package fr.jetoile.hadoopunit.component; + +import fr.jetoile.hadoopunit.ComponentMetadata; + +import java.util.Collections; +import java.util.List; + +public class DockerMetadata extends ComponentMetadata { + @Override + public String getName() { + return "DOCKER"; + } + + @Override + public List getDependencies() { + return Collections.emptyList(); + } +} diff --git a/hadoop-unit-docker/src/main/resources/META-INF/services/fr.jetoile.hadoopunit.component.Bootstrap b/hadoop-unit-docker/src/main/resources/META-INF/services/fr.jetoile.hadoopunit.component.Bootstrap new file mode 100644 index 00000000..491dda0a --- /dev/null +++ b/hadoop-unit-docker/src/main/resources/META-INF/services/fr.jetoile.hadoopunit.component.Bootstrap @@ -0,0 +1 @@ +fr.jetoile.hadoopunit.component.DockerBootstrap \ No newline at end of file diff --git a/hadoop-unit-testcontainer/src/main/resources/hadoop-unit-default.properties b/hadoop-unit-docker/src/main/resources/hadoop-unit-default.properties similarity index 100% rename from hadoop-unit-testcontainer/src/main/resources/hadoop-unit-default.properties rename to hadoop-unit-docker/src/main/resources/hadoop-unit-default.properties diff --git a/hadoop-unit-testcontainer/src/test/java/fr/jetoile/hadoopunit/component/TestContainerBootstrapTest.java b/hadoop-unit-docker/src/test/java/fr/jetoile/hadoopunit/component/DockerBootstrapTest.java similarity index 93% rename from hadoop-unit-testcontainer/src/test/java/fr/jetoile/hadoopunit/component/TestContainerBootstrapTest.java rename to hadoop-unit-docker/src/test/java/fr/jetoile/hadoopunit/component/DockerBootstrapTest.java index feed78f9..baf6ace9 100644 --- a/hadoop-unit-testcontainer/src/test/java/fr/jetoile/hadoopunit/component/TestContainerBootstrapTest.java +++ b/hadoop-unit-docker/src/test/java/fr/jetoile/hadoopunit/component/DockerBootstrapTest.java @@ -35,10 +35,10 @@ import static org.assertj.core.api.Assertions.assertThat; -public class TestContainerBootstrapTest { +public class DockerBootstrapTest { - private static final Logger LOGGER = LoggerFactory.getLogger(TestContainerBootstrapTest.class); + private static final Logger LOGGER = LoggerFactory.getLogger(DockerBootstrapTest.class); static private Configuration configuration; @@ -62,7 +62,7 @@ public static void tearDown() { @Test public void testContainerShouldStart() throws NotFoundServiceException, IOException { - TestContainerBootstrap testcontainer = (TestContainerBootstrap) HadoopBootstrap.INSTANCE.getService("TESTCONTAINER"); + DockerBootstrap testcontainer = (DockerBootstrap) HadoopBootstrap.INSTANCE.getService("DOCKER"); String containerIpAddress = testcontainer.getContainer().getContainerIpAddress(); Integer firstMappedPort = testcontainer.getContainer().getFirstMappedPort(); diff --git a/hadoop-unit-docker/src/test/resources/hadoop-unit-default.properties b/hadoop-unit-docker/src/test/resources/hadoop-unit-default.properties new file mode 100644 index 00000000..1444ada4 --- /dev/null +++ b/hadoop-unit-docker/src/test/resources/hadoop-unit-default.properties @@ -0,0 +1,9 @@ +#docker.imagename=couchbase:4.5.0 +#docker.exposedports=8091,8092,8093,8094,11207,11210,11211,18091,18092,18093 +docker.imagename=alpine:3.2 +docker.exposedports=80 +docker.envs=MAGIC_NUMBER:42 +docker.labels=MAGIC_NUMBER:42 +docker.command=/bin/sh, -c, while true; do echo \"$MAGIC_NUMBER\" | nc -l -p 80; done +docker.fixed.exposedports=21300:80 +docker.classpath.resources.mapping=hadoop-unit-default.properties:/hadoop-unit-default.properties:READ_ONLY \ No newline at end of file diff --git a/hadoop-unit-testcontainer/src/test/resources/logback.xml b/hadoop-unit-docker/src/test/resources/logback.xml similarity index 100% rename from hadoop-unit-testcontainer/src/test/resources/logback.xml rename to hadoop-unit-docker/src/test/resources/logback.xml diff --git a/hadoop-unit-standalone/src/main/resources/docker-compose.yml b/hadoop-unit-standalone/src/main/resources/docker-compose.yml new file mode 100644 index 00000000..2a7bec89 --- /dev/null +++ b/hadoop-unit-standalone/src/main/resources/docker-compose.yml @@ -0,0 +1,19 @@ +version: '2' +services: + spark-master: + image: bde2020/spark-master:2.4.0-hadoop2.7 + container_name: spark-master + ports: + - "8080:8080" + - "7077:7077" + environment: + - INIT_DAEMON_STEP=setup_spark + spark-worker-1: + image: bde2020/spark-worker:2.4.0-hadoop2.7 + container_name: spark-worker-1 + depends_on: + - spark-master + ports: + - "8081:8081" + environment: + - "SPARK_MASTER=spark://spark-master:7077" \ No newline at end of file diff --git a/hadoop-unit-standalone/src/main/resources/hadoop-unit-default.properties b/hadoop-unit-standalone/src/main/resources/hadoop-unit-default.properties index c26c7daa..c26498f1 100644 --- a/hadoop-unit-standalone/src/main/resources/hadoop-unit-default.properties +++ b/hadoop-unit-standalone/src/main/resources/hadoop-unit-default.properties @@ -100,9 +100,9 @@ confluent_kafka_rest.artifactId=fr.jetoile.hadoop:hadoop-unit-confluent-rest:3.2 confluent_kafka_rest.mainClass=fr.jetoile.hadoopunit.component.ConfluentKafkaRestBootstrap confluent_kafka_rest.metadataClass=fr.jetoile.hadoopunit.component.ConfluentKafkaRestMetadata -testcontainer.artifactId=fr.jetoile.hadoop:hadoop-unit-testcontainer:3.2-SNAPSHOT -testcontainer.mainClass=fr.jetoile.hadoopunit.component.TestContainerBootstrap -testcontainer.metadataClass=fr.jetoile.hadoopunit.component.TestContainerMetadata +docker.artifactId=fr.jetoile.hadoop:hadoop-unit-docker:3.2-SNAPSHOT +docker.mainClass=fr.jetoile.hadoopunit.component.DockerBootstrap +docker.metadataClass=fr.jetoile.hadoopunit.component.DockerMetadata maven.central.repo=https://repo.maven.apache.org/maven2/ maven.local.repo=~/.m2/repository @@ -306,10 +306,16 @@ confluent.ksql.port=8083 -# Test Container -testcontainer.imagename=alpine:3.2 -testcontainer.exposedports=80 -testcontainer.envs=MAGIC_NUMBER:42 -testcontainer.labels=MAGIC_NUMBER:42 -testcontainer.command=/bin/sh, -c, while true; do echo \"$MAGIC_NUMBER\" | nc -l -p 80; done -testcontainer.fixed.exposedports=21300:80 \ No newline at end of file +# Docker +docker.imagename=alpine:3.2 +docker.exposedports=80 +docker.envs=MAGIC_NUMBER:42 +docker.labels=MAGIC_NUMBER:42 +docker.command=/bin/sh, -c, while true; do echo \"$MAGIC_NUMBER\" | nc -l -p 80; done +docker.fixed.exposedports=21300:80 +#docker.classpath.resources.mapping=hadoop-unit-default.properties:/hadoop-unit-default.properties:READ_ONLY + +# Docker compose +dockercompose.filename=conf/docker-compose.yml +#dockercompose.exposedports=zoo:2181,resourcemanager:8088 +dockercompose.local=false \ No newline at end of file diff --git a/hadoop-unit-standalone/src/main/resources/hadoop.properties b/hadoop-unit-standalone/src/main/resources/hadoop.properties index 5bd5e905..3cf94209 100755 --- a/hadoop-unit-standalone/src/main/resources/hadoop.properties +++ b/hadoop-unit-standalone/src/main/resources/hadoop.properties @@ -18,4 +18,4 @@ hiveserver2=true #confluent_schemaregistry=true #confluent_kafka=true #confluent_ksql_rest=true -testcontainer=true +docker=true diff --git a/hadoop-unit-testcontainer/src/main/java/fr/jetoile/hadoopunit/component/TestContainerConfig.java b/hadoop-unit-testcontainer/src/main/java/fr/jetoile/hadoopunit/component/TestContainerConfig.java deleted file mode 100644 index c1e78493..00000000 --- a/hadoop-unit-testcontainer/src/main/java/fr/jetoile/hadoopunit/component/TestContainerConfig.java +++ /dev/null @@ -1,16 +0,0 @@ -package fr.jetoile.hadoopunit.component; - -public class TestContainerConfig { - - public static final String TESTCONTAINER_IMAGENAME_KEY = "testcontainer.imagename"; - public static final String TESTCONTAINER_EXPOSEDPORTS_KEY = "testcontainer.exposedports"; - public static final String TESTCONTAINER_ENVS_KEY = "testcontainer.envs"; - public static final String TESTCONTAINER_LABELS_KEY = "testcontainer.labels"; - public static final String TESTCONTAINER_COMMAND_KEY = "testcontainer.command"; - public static final String TESTCONTAINER_FIXED_EXPOSEDPORTS_KEY = "testcontainer.fixed.exposedports"; - public static final String TESTCONTAINER_CLASSPATH_RESOURCES_MAPPING_KEY = "testcontainer.classpath.resources.mapping"; - - - private TestContainerConfig() { - } -} diff --git a/hadoop-unit-testcontainer/src/main/java/fr/jetoile/hadoopunit/component/TestContainerMetadata.java b/hadoop-unit-testcontainer/src/main/java/fr/jetoile/hadoopunit/component/TestContainerMetadata.java deleted file mode 100644 index 03801ea8..00000000 --- a/hadoop-unit-testcontainer/src/main/java/fr/jetoile/hadoopunit/component/TestContainerMetadata.java +++ /dev/null @@ -1,18 +0,0 @@ -package fr.jetoile.hadoopunit.component; - -import fr.jetoile.hadoopunit.ComponentMetadata; - -import java.util.Collections; -import java.util.List; - -public class TestContainerMetadata extends ComponentMetadata { - @Override - public String getName() { - return "TESTCONTAINER"; - } - - @Override - public List getDependencies() { - return Collections.emptyList(); - } -} diff --git a/hadoop-unit-testcontainer/src/main/resources/META-INF/services/fr.jetoile.hadoopunit.component.Bootstrap b/hadoop-unit-testcontainer/src/main/resources/META-INF/services/fr.jetoile.hadoopunit.component.Bootstrap deleted file mode 100644 index 39bc4104..00000000 --- a/hadoop-unit-testcontainer/src/main/resources/META-INF/services/fr.jetoile.hadoopunit.component.Bootstrap +++ /dev/null @@ -1 +0,0 @@ -fr.jetoile.hadoopunit.component.TestContainerBootstrap \ No newline at end of file diff --git a/hadoop-unit-testcontainer/src/test/resources/hadoop-unit-default.properties b/hadoop-unit-testcontainer/src/test/resources/hadoop-unit-default.properties deleted file mode 100644 index ddd24d41..00000000 --- a/hadoop-unit-testcontainer/src/test/resources/hadoop-unit-default.properties +++ /dev/null @@ -1,9 +0,0 @@ -#testcontainer.imagename=couchbase:4.5.0 -#testcontainer.exposedports=8091,8092,8093,8094,11207,11210,11211,18091,18092,18093 -testcontainer.imagename=alpine:3.2 -testcontainer.exposedports=80 -testcontainer.envs=MAGIC_NUMBER:42 -testcontainer.labels=MAGIC_NUMBER:42 -testcontainer.command=/bin/sh, -c, while true; do echo \"$MAGIC_NUMBER\" | nc -l -p 80; done -testcontainer.fixed.exposedports=21300:80 -testcontainer.classpath.resources.mapping=hadoop-unit-default.properties:/hadoop-unit-default.properties:READ_ONLY \ No newline at end of file diff --git a/pom.xml b/pom.xml index 8c4efd6d..8b0d6d93 100755 --- a/pom.xml +++ b/pom.xml @@ -70,7 +70,7 @@ hadoop-unit-redis hadoop-unit-confluent hadoop-unit-confluent-rest - hadoop-unit-testcontainer + hadoop-unit-docker sample hadoop-unit-site diff --git a/sample/testcontainer-integrationtest/pom.xml b/sample/docker-integrationtest/pom.xml similarity index 85% rename from sample/testcontainer-integrationtest/pom.xml rename to sample/docker-integrationtest/pom.xml index fd9b3c10..529b9d6a 100644 --- a/sample/testcontainer-integrationtest/pom.xml +++ b/sample/docker-integrationtest/pom.xml @@ -9,7 +9,7 @@ 4.0.0 - testcontainer-integrationtest + docker-integrationtest 2.9.0 @@ -64,15 +64,15 @@ - TESTCONTAINER - hadoop-unit-testcontainer + DOCKER + hadoop-unit-docker fr.jetoile.hadoop ${hadoop-unit.version} - fr.jetoile.hadoopunit.component.TestContainerBootstrap + fr.jetoile.hadoopunit.component.DockerBootstrap - redis:5.0.3 - 6379 - 21300:6379 + redis:5.0.3 + 6379 + 21300:6379 diff --git a/sample/testcontainer-integrationtest/src/test/java/fr/jetoile/hadoopunit/testcontainer/TestContainerBootstrapIntegrationTest.java b/sample/docker-integrationtest/src/test/java/fr/jetoile/hadoopunit/docker/DockerBootstrapIntegrationTest.java similarity index 90% rename from sample/testcontainer-integrationtest/src/test/java/fr/jetoile/hadoopunit/testcontainer/TestContainerBootstrapIntegrationTest.java rename to sample/docker-integrationtest/src/test/java/fr/jetoile/hadoopunit/docker/DockerBootstrapIntegrationTest.java index 88626f7e..c4022d56 100644 --- a/sample/testcontainer-integrationtest/src/test/java/fr/jetoile/hadoopunit/testcontainer/TestContainerBootstrapIntegrationTest.java +++ b/sample/docker-integrationtest/src/test/java/fr/jetoile/hadoopunit/docker/DockerBootstrapIntegrationTest.java @@ -11,7 +11,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package fr.jetoile.hadoopunit.testcontainer; +package fr.jetoile.hadoopunit.docker; import org.junit.Test; import redis.clients.jedis.Jedis; @@ -19,7 +19,7 @@ import static org.assertj.core.api.AssertionsForClassTypes.assertThat; -public class TestContainerBootstrapIntegrationTest { +public class DockerBootstrapIntegrationTest { @Test public void testStartAndStopRedis() { diff --git a/sample/testcontainer-integrationtest/src/test/resources/logback.xml b/sample/docker-integrationtest/src/test/resources/logback.xml similarity index 100% rename from sample/testcontainer-integrationtest/src/test/resources/logback.xml rename to sample/docker-integrationtest/src/test/resources/logback.xml diff --git a/sample/pom.xml b/sample/pom.xml index 5faf5937..14290ad2 100644 --- a/sample/pom.xml +++ b/sample/pom.xml @@ -20,7 +20,7 @@ knox-hbase-webhdfs redis confluent-integrationtest - testcontainer-integrationtest + docker-integrationtest sample