diff --git a/modules/k3s/build.gradle b/modules/k3s/build.gradle index ee5ed626dc1..88e3c2ffa44 100644 --- a/modules/k3s/build.gradle +++ b/modules/k3s/build.gradle @@ -6,7 +6,14 @@ dependencies { // Synchronize with the jackson version, must match major and minor version shaded 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.18.4' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.11.0' + + testImplementation 'org.junit.jupiter:junit-jupiter:5.13.4' testImplementation 'io.fabric8:kubernetes-client:7.3.1' testImplementation 'io.kubernetes:client-java:24.0.0-legacy' testImplementation 'org.assertj:assertj-core:3.27.4' } + +test { + useJUnitPlatform() +} diff --git a/modules/k3s/src/test/java/org/testcontainers/k3s/Fabric8K3sContainerTest.java b/modules/k3s/src/test/java/org/testcontainers/k3s/Fabric8K3sContainerTest.java index 42b08444555..50b2e17f1fc 100644 --- a/modules/k3s/src/test/java/org/testcontainers/k3s/Fabric8K3sContainerTest.java +++ b/modules/k3s/src/test/java/org/testcontainers/k3s/Fabric8K3sContainerTest.java @@ -12,7 +12,7 @@ import io.fabric8.kubernetes.client.DefaultKubernetesClient; import io.fabric8.kubernetes.client.dsl.Resource; import lombok.extern.slf4j.Slf4j; -import org.junit.Test; +import org.junit.jupiter.api.Test; import org.testcontainers.containers.output.Slf4jLogConsumer; import org.testcontainers.utility.DockerImageName; @@ -22,10 +22,10 @@ import static org.assertj.core.api.Assertions.assertThat; @Slf4j -public class Fabric8K3sContainerTest { +class Fabric8K3sContainerTest { @Test - public void shouldStartAndHaveListableNode() { + void shouldStartAndHaveListableNode() { try ( // starting_k3s { K3sContainer k3s = new K3sContainer(DockerImageName.parse("rancher/k3s:v1.21.3-k3s1")) diff --git a/modules/k3s/src/test/java/org/testcontainers/k3s/KubectlContainerTest.java b/modules/k3s/src/test/java/org/testcontainers/k3s/KubectlContainerTest.java index 5c0d44ff0f1..6dcd7421363 100644 --- a/modules/k3s/src/test/java/org/testcontainers/k3s/KubectlContainerTest.java +++ b/modules/k3s/src/test/java/org/testcontainers/k3s/KubectlContainerTest.java @@ -1,7 +1,8 @@ package org.testcontainers.k3s; -import org.junit.ClassRule; -import org.junit.Test; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.Network; import org.testcontainers.containers.startupcheck.OneShotStartupCheckStrategy; @@ -11,16 +12,26 @@ import java.time.Duration; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; -public class KubectlContainerTest { +class KubectlContainerTest { - public static Network network = Network.SHARED; + private static final Network network = Network.SHARED; - @ClassRule - public static K3sContainer k3s = new K3sContainer(DockerImageName.parse("rancher/k3s:v1.21.3-k3s1")) + private static final K3sContainer k3s = new K3sContainer(DockerImageName.parse("rancher/k3s:v1.21.3-k3s1")) .withNetwork(network) .withNetworkAliases("k3s"); + @BeforeAll + static void setup() { + k3s.start(); + } + + @AfterAll + static void teardown() { + k3s.stop(); + } + @Test public void shouldExposeKubeConfigForNetworkAlias() throws Exception { String kubeConfigYaml = k3s.generateInternalKubeConfigYaml("k3s"); @@ -38,8 +49,9 @@ public void shouldExposeKubeConfigForNetworkAlias() throws Exception { } } - @Test(expected = IllegalArgumentException.class) + @Test public void shouldThrowAnExceptionForUnknownNetworkAlias() { - k3s.generateInternalKubeConfigYaml("not-set-network-alias"); + assertThatThrownBy(() -> k3s.generateInternalKubeConfigYaml("not-set-network-alias")) + .isInstanceOf(IllegalArgumentException.class); } }