You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ma...@apache.org on 2019/06/28 07:56:43 UTC
[james-project] 01/07: JAMES-2792 log james container output for
deployment tests
This is an automated email from the ASF dual-hosted git repository.
matthieu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 22fa06f6ac01c789bfa5298300571214b829e166
Author: Matthieu Baechler <ma...@apache.org>
AuthorDate: Mon Jun 17 16:48:58 2019 +0200
JAMES-2792 log james container output for deployment tests
---
.../mpt/imapmailbox/external/james/DockerJamesRule.java | 14 +++++++++++++-
.../apache/james/util/docker/DockerGenericContainer.java | 7 +++++++
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/DockerJamesRule.java b/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/DockerJamesRule.java
index 1ff4709..48128e6 100644
--- a/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/DockerJamesRule.java
+++ b/mpt/impl/imap-mailbox/external-james/src/test/java/org/apache/james/mpt/imapmailbox/external/james/DockerJamesRule.java
@@ -29,10 +29,14 @@ import org.apache.james.util.docker.DockerGenericContainer;
import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.testcontainers.containers.wait.strategy.HostPortWaitStrategy;
public class DockerJamesRule implements TestRule {
+ private static final Logger LOGGER = LoggerFactory.getLogger(DockerJamesRule.class);
+
private static final int IMAP_PORT = 143;
private static final int SMTP_PORT = 587;
private static final int WEBADMIN_PORT = 8000;
@@ -42,7 +46,15 @@ public class DockerJamesRule implements TestRule {
public DockerJamesRule(String image) {
container = new DockerGenericContainer(image)
.withExposedPorts(SMTP_PORT, IMAP_PORT)
- .waitingFor(new HostPortWaitStrategy());
+ .waitingFor(new HostPortWaitStrategy())
+ .withLogConsumer(frame -> {
+ switch (frame.getType()) {
+ case STDOUT:
+ LOGGER.info(frame.getUtf8String());
+ case STDERR:
+ LOGGER.error(frame.getUtf8String());
+ }
+ });
}
public ProvisioningAPI cliJarDomainsAndUsersAdder() throws InterruptedException, ProvisioningException, IOException {
diff --git a/server/testing/src/main/java/org/apache/james/util/docker/DockerGenericContainer.java b/server/testing/src/main/java/org/apache/james/util/docker/DockerGenericContainer.java
index 46b1de8..3e6847d 100644
--- a/server/testing/src/main/java/org/apache/james/util/docker/DockerGenericContainer.java
+++ b/server/testing/src/main/java/org/apache/james/util/docker/DockerGenericContainer.java
@@ -24,6 +24,7 @@ import java.net.Socket;
import java.time.Duration;
import java.util.List;
import java.util.Map;
+import java.util.function.Consumer;
import javax.net.SocketFactory;
@@ -36,6 +37,7 @@ import org.slf4j.LoggerFactory;
import org.testcontainers.DockerClientFactory;
import org.testcontainers.containers.Container;
import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.output.OutputFrame;
import org.testcontainers.containers.wait.strategy.WaitStrategy;
import org.testcontainers.images.builder.ImageFromDockerfile;
@@ -86,6 +88,11 @@ public class DockerGenericContainer implements TestRule {
return this;
}
+ public DockerGenericContainer withLogConsumer(Consumer<OutputFrame> consumer) {
+ container.withLogConsumer(consumer);
+ return this;
+ }
+
public DockerGenericContainer withEnv(String key, String value) {
container.addEnv(key, value);
return this;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org