From fc1fd991b35eea28e1fc284df3183f5695a3ad88 Mon Sep 17 00:00:00 2001 From: Alex Stockinger Date: Thu, 10 Feb 2022 20:58:43 +0100 Subject: [PATCH] Improve testing of helm feature --- .../kindcontainer/BaseSidecarContainer.java | 3 +++ .../com/dajudge/kindcontainer/KindContainer.java | 14 +++++--------- src/main/java/com/dajudge/kindcontainer/Utils.java | 4 ++++ .../java/com/dajudge/kindcontainer/Helm3Test.java | 6 ++++++ 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/dajudge/kindcontainer/BaseSidecarContainer.java b/src/main/java/com/dajudge/kindcontainer/BaseSidecarContainer.java index f435818..235ce27 100644 --- a/src/main/java/com/dajudge/kindcontainer/BaseSidecarContainer.java +++ b/src/main/java/com/dajudge/kindcontainer/BaseSidecarContainer.java @@ -12,6 +12,7 @@ import java.nio.charset.Charset; import java.util.Arrays; +import static com.dajudge.kindcontainer.Utils.prefixLines; import static java.lang.String.join; import static java.nio.charset.StandardCharsets.UTF_8; @@ -53,6 +54,8 @@ public ExecResult execInContainer(final Charset outputCharset, final String... c protected void safeExecInContainer(final String... cmd) throws IOException, InterruptedException, ExecutionException { LOG.info("Executing command: {}", join(" ", Arrays.asList(cmd))); final ExecResult result = execInContainer(cmd); + LOG.trace("{}", prefixLines(result.getStdout(), "STDOUT: ")); + LOG.trace("{}", prefixLines(result.getStderr(), "STDERR: ")); if (result.getExitCode() != 0) { throw new ExecutionException(cmd, result); } diff --git a/src/main/java/com/dajudge/kindcontainer/KindContainer.java b/src/main/java/com/dajudge/kindcontainer/KindContainer.java index 914c24d..811986a 100644 --- a/src/main/java/com/dajudge/kindcontainer/KindContainer.java +++ b/src/main/java/com/dajudge/kindcontainer/KindContainer.java @@ -230,7 +230,7 @@ private void kubeadmInit(final Map params) throws IOException, I )); } catch (final RuntimeException | IOException | InterruptedException e) { try { - LOG.error("{}", prefixLines(execInContainer("journalctl").getStdout(), "JOURNAL: ")); + LOG.error("{}", Utils.prefixLines(execInContainer("journalctl").getStdout(), "JOURNAL: ")); } catch (final IOException | InterruptedException ex) { LOG.error("Could not retrieve journal.", ex); } @@ -271,12 +271,12 @@ private void exec(final List exec) throws IOException, InterruptedExcept final int exitCode = execResult.getExitCode(); if (exitCode == 0) { LOG.debug("\"{}\" exited with status code {}", cmdString, exitCode); - LOG.debug("{}", prefixLines(execResult.getStdout(), "STDOUT: ")); - LOG.debug("{}", prefixLines(execResult.getStderr(), "STDERR: ")); + LOG.debug("{}", Utils.prefixLines(execResult.getStdout(), "STDOUT: ")); + LOG.debug("{}", Utils.prefixLines(execResult.getStderr(), "STDERR: ")); } else { LOG.error("\"{}\" exited with status code {}", cmdString, exitCode); - LOG.error("{}", prefixLines(execResult.getStdout(), "STDOUT: ")); - LOG.error("{}", prefixLines(execResult.getStderr(), "STDERR: ")); + LOG.error("{}", Utils.prefixLines(execResult.getStdout(), "STDOUT: ")); + LOG.error("{}", Utils.prefixLines(execResult.getStderr(), "STDERR: ")); throw new IllegalStateException(cmdString + " exited with status code " + execResult); } } @@ -440,8 +440,4 @@ public String toString() { return format("%d.%d.%d", descriptor.getMajor(), descriptor.getMinor(), descriptor.getPatch()); } } - - private static String prefixLines(String stdout, String prefix) { - return stdout.replaceAll("(?m)^", prefix); - } } diff --git a/src/main/java/com/dajudge/kindcontainer/Utils.java b/src/main/java/com/dajudge/kindcontainer/Utils.java index 04dcdd2..c1891f9 100644 --- a/src/main/java/com/dajudge/kindcontainer/Utils.java +++ b/src/main/java/com/dajudge/kindcontainer/Utils.java @@ -100,6 +100,10 @@ static Network.NetworkImpl createNetwork() { .build(); } + static String prefixLines(final String strings, final String prefix) { + return strings.replaceAll("(?m)^", prefix); + } + public interface ThrowingRunnable { void run() throws E; } diff --git a/src/test/java/com/dajudge/kindcontainer/Helm3Test.java b/src/test/java/com/dajudge/kindcontainer/Helm3Test.java index 2183e49..789259e 100644 --- a/src/test/java/com/dajudge/kindcontainer/Helm3Test.java +++ b/src/test/java/com/dajudge/kindcontainer/Helm3Test.java @@ -3,6 +3,9 @@ import org.junit.ClassRule; import org.junit.Test; +import static com.dajudge.kindcontainer.TestUtils.runWithClient; +import static org.junit.Assert.assertFalse; + public class Helm3Test { @ClassRule @@ -18,5 +21,8 @@ public class Helm3Test { @Test public void can_install_something() { + runWithClient(K8S, client -> { + assertFalse(client.apps().deployments().inNamespace("kubernetes-replicator").list().getItems().isEmpty()); + }); } }