diff --git a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml
index 9e05eb53..bfc041c0 100644
--- a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml
+++ b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/pom.xml
@@ -78,6 +78,14 @@
true
+
+ maven-surefire-plugin
+ 2.22.2
+
+
+ maven-failsafe-plugin
+ 2.22.2
+
diff --git a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/src/test/java/org/springframework/cloud/kubernetes/examples/LeaderControllerTest.java b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/src/test/java/org/springframework/cloud/kubernetes/examples/LeaderControllerTest.java
index fa8c4266..686cbcf2 100644
--- a/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/src/test/java/org/springframework/cloud/kubernetes/examples/LeaderControllerTest.java
+++ b/spring-cloud-kubernetes-examples/kubernetes-leader-election-example/src/test/java/org/springframework/cloud/kubernetes/examples/LeaderControllerTest.java
@@ -19,11 +19,11 @@ package org.springframework.cloud.kubernetes.examples;
import java.net.InetAddress;
import java.net.UnknownHostException;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -36,7 +36,7 @@ import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
public class LeaderControllerTest {
@Mock
@@ -52,7 +52,7 @@ public class LeaderControllerTest {
private LeaderController leaderController;
- @Before
+ @BeforeEach
public void before() throws UnknownHostException {
this.host = InetAddress.getLocalHost().getHostName();
this.leaderController = new LeaderController();
diff --git a/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml b/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml
index 5987eb4b..5fa02dc8 100644
--- a/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml
+++ b/spring-cloud-kubernetes-integration-tests/discovery/tests/pom.xml
@@ -19,6 +19,12 @@
spring-boot-starter-test
test
+
+ org.junit.vintage
+ junit-vintage-engine
+ 5.6.2
+ test
+
org.arquillian.cube
arquillian-cube-kubernetes
diff --git a/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml b/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml
index b7caa713..4af81d26 100644
--- a/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml
+++ b/spring-cloud-kubernetes-integration-tests/simple-configmap/pom.xml
@@ -36,6 +36,12 @@
spring-boot-starter-test
test
+
+ org.junit.vintage
+ junit-vintage-engine
+ 5.6.2
+ test
+
org.arquillian.cube
arquillian-cube-kubernetes
diff --git a/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml b/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml
index 77da694b..5f3982b1 100644
--- a/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml
+++ b/spring-cloud-kubernetes-integration-tests/simple-core/pom.xml
@@ -36,6 +36,12 @@
spring-boot-starter-test
test
+
+ org.junit.vintage
+ junit-vintage-engine
+ 5.6.2
+ test
+
org.arquillian.cube
arquillian-cube-kubernetes
diff --git a/spring-cloud-kubernetes-leader/pom.xml b/spring-cloud-kubernetes-leader/pom.xml
index 9cd05253..4993a376 100644
--- a/spring-cloud-kubernetes-leader/pom.xml
+++ b/spring-cloud-kubernetes-leader/pom.xml
@@ -61,14 +61,24 @@
org.springframework.boot
spring-boot-starter-test
test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+
- org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.22.2
+
+
maven-failsafe-plugin
- ${maven-failsafe-plugin.version}
+ 2.22.2
diff --git a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderAutoConfigurationTests.java b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderAutoConfigurationTests.java
index 0072a811..fee60341 100644
--- a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderAutoConfigurationTests.java
+++ b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderAutoConfigurationTests.java
@@ -16,8 +16,9 @@
package org.springframework.cloud.kubernetes.leader;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -25,12 +26,11 @@ import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
-import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.reactive.server.WebTestClient;
import static org.hamcrest.Matchers.containsString;
-@RunWith(SpringRunner.class)
+@ExtendWith(MockitoExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = {
// Make sure test passes without Kubernetes cluster
"spring.cloud.kubernetes.leader.autoStartup=false" })
diff --git a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderContextTest.java b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderContextTest.java
index 7681d91b..cb291fed 100644
--- a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderContextTest.java
+++ b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderContextTest.java
@@ -18,11 +18,11 @@ package org.springframework.cloud.kubernetes.leader;
import java.util.Optional;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.integration.leader.Candidate;
@@ -33,7 +33,7 @@ import static org.mockito.Mockito.verify;
/**
* @author Gytis Trikleris
*/
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
public class LeaderContextTest {
@Mock
@@ -47,7 +47,7 @@ public class LeaderContextTest {
private LeaderContext leaderContext;
- @Before
+ @BeforeEach
public void before() {
this.leaderContext = new LeaderContext(this.mockCandidate,
this.mockLeadershipController);
diff --git a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderInfoContributorTest.java b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderInfoContributorTest.java
index abb04c3e..97de1bb3 100644
--- a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderInfoContributorTest.java
+++ b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderInfoContributorTest.java
@@ -19,11 +19,11 @@ package org.springframework.cloud.kubernetes.leader;
import java.util.Map;
import java.util.Optional;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.boot.actuate.info.Info;
import org.springframework.integration.leader.Candidate;
@@ -31,7 +31,7 @@ import org.springframework.integration.leader.Candidate;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.BDDMockito.given;
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
public class LeaderInfoContributorTest {
@Mock
@@ -45,7 +45,7 @@ public class LeaderInfoContributorTest {
private LeaderInfoContributor leaderInfoContributor;
- @Before
+ @BeforeEach
public void before() {
this.leaderInfoContributor = new LeaderInfoContributor(
this.mockLeadershipController, this.mockCandidate);
diff --git a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderInitiatorTest.java b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderInitiatorTest.java
index 92e05f9b..844e66b2 100644
--- a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderInitiatorTest.java
+++ b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderInitiatorTest.java
@@ -18,12 +18,12 @@ package org.springframework.cloud.kubernetes.leader;
import java.time.Duration;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.BDDMockito.given;
@@ -33,7 +33,7 @@ import static org.mockito.internal.verification.VerificationModeFactory.atLeastO
/**
* @author Gytis Trikleris
*/
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
public class LeaderInitiatorTest {
@Mock
@@ -53,14 +53,14 @@ public class LeaderInitiatorTest {
private LeaderInitiator leaderInitiator;
- @Before
+ @BeforeEach
public void before() {
this.leaderInitiator = new LeaderInitiator(this.mockLeaderProperties,
this.mockLeadershipController, this.mockLeaderRecordWatcher,
this.mockPodReadinessWatcher);
}
- @After
+ @AfterEach
public void after() {
this.leaderInitiator.stop();
}
diff --git a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderRecordWatcherTest.java b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderRecordWatcherTest.java
index 59cfead8..a609ee43 100644
--- a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderRecordWatcherTest.java
+++ b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderRecordWatcherTest.java
@@ -26,11 +26,11 @@ import io.fabric8.kubernetes.client.Watcher;
import io.fabric8.kubernetes.client.dsl.MixedOperation;
import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation;
import io.fabric8.kubernetes.client.dsl.Resource;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.times;
@@ -39,7 +39,7 @@ import static org.mockito.Mockito.verify;
/**
* @author Gytis Trikleris
*/
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
public class LeaderRecordWatcherTest {
@Mock
@@ -71,22 +71,15 @@ public class LeaderRecordWatcherTest {
private LeaderRecordWatcher watcher;
- @Before
+ @BeforeEach
public void before() {
this.watcher = new LeaderRecordWatcher(this.mockLeaderProperties,
this.mockLeadershipController, this.mockKubernetesClient);
-
- given(this.mockKubernetesClient.configMaps())
- .willReturn(this.mockConfigMapsOperation);
- given(this.mockConfigMapsOperation.inNamespace(null))
- .willReturn(this.mockInNamespaceOperation);
- given(this.mockInNamespaceOperation.withName(null))
- .willReturn(this.mockWithNameResource);
- given(this.mockWithNameResource.watch(this.watcher)).willReturn(this.mockWatch);
}
@Test
public void shouldStartOnce() {
+ initStubs();
this.watcher.start();
this.watcher.start();
@@ -95,6 +88,7 @@ public class LeaderRecordWatcherTest {
@Test
public void shouldStopOnce() {
+ initStubs();
this.watcher.start();
this.watcher.stop();
this.watcher.stop();
@@ -120,6 +114,7 @@ public class LeaderRecordWatcherTest {
@Test
public void shouldHandleClose() {
+ initStubs();
this.watcher.onClose(this.mockKubernetesClientException);
verify(this.mockWithNameResource).watch(this.watcher);
@@ -132,4 +127,14 @@ public class LeaderRecordWatcherTest {
verify(this.mockWithNameResource, times(0)).watch(this.watcher);
}
+ private void initStubs() {
+ given(this.mockKubernetesClient.configMaps())
+ .willReturn(this.mockConfigMapsOperation);
+ given(this.mockConfigMapsOperation.inNamespace(null))
+ .willReturn(this.mockInNamespaceOperation);
+ given(this.mockInNamespaceOperation.withName(null))
+ .willReturn(this.mockWithNameResource);
+ given(this.mockWithNameResource.watch(this.watcher)).willReturn(this.mockWatch);
+ }
+
}
diff --git a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderTest.java b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderTest.java
index 9be158ba..93e8753f 100644
--- a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderTest.java
+++ b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeaderTest.java
@@ -16,11 +16,11 @@
package org.springframework.cloud.kubernetes.leader;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.integration.leader.Candidate;
@@ -30,7 +30,7 @@ import static org.mockito.BDDMockito.given;
/**
* @author Gytis Trikleris
*/
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
public class LeaderTest {
private static final String ROLE = "test-role";
@@ -42,7 +42,7 @@ public class LeaderTest {
private Leader leader;
- @Before
+ @BeforeEach
public void before() {
this.leader = new Leader(ROLE, ID);
}
diff --git a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeadershipControllerTest.java b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeadershipControllerTest.java
index 6c94e3f6..68eb61c8 100644
--- a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeadershipControllerTest.java
+++ b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/LeadershipControllerTest.java
@@ -17,11 +17,11 @@
package org.springframework.cloud.kubernetes.leader;
import io.fabric8.kubernetes.client.KubernetesClient;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.integration.leader.Candidate;
import org.springframework.integration.leader.event.LeaderEventPublisher;
@@ -31,7 +31,7 @@ import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Gytis Trikleris
*/
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
public class LeadershipControllerTest {
@Mock
@@ -48,7 +48,7 @@ public class LeadershipControllerTest {
private LeadershipController leadershipController;
- @Before
+ @BeforeEach
public void before() {
this.leadershipController = new LeadershipController(this.mockCandidate,
this.mockLeaderProperties, this.mockLeaderEventPublisher,
diff --git a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/PodReadinessWatcherTest.java b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/PodReadinessWatcherTest.java
index 3b2d26c7..4e8b308d 100644
--- a/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/PodReadinessWatcherTest.java
+++ b/spring-cloud-kubernetes-leader/src/test/java/org/springframework/cloud/kubernetes/leader/PodReadinessWatcherTest.java
@@ -26,11 +26,11 @@ import io.fabric8.kubernetes.client.Watch;
import io.fabric8.kubernetes.client.Watcher;
import io.fabric8.kubernetes.client.dsl.MixedOperation;
import io.fabric8.kubernetes.client.dsl.PodResource;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.times;
@@ -39,7 +39,7 @@ import static org.mockito.Mockito.verify;
/**
* @author Gytis Trikleris
*/
-@RunWith(MockitoJUnitRunner.class)
+@ExtendWith(MockitoExtension.class)
public class PodReadinessWatcherTest {
private static final String POD_NAME = "test-pod";
@@ -70,18 +70,15 @@ public class PodReadinessWatcherTest {
private PodReadinessWatcher watcher;
- @Before
+ @BeforeEach
public void before() {
this.watcher = new PodReadinessWatcher(POD_NAME, this.mockKubernetesClient,
this.mockLeadershipController);
-
- given(this.mockKubernetesClient.pods()).willReturn(this.mockPodsOperation);
- given(this.mockPodsOperation.withName(POD_NAME)).willReturn(this.mockPodResource);
- given(this.mockPodResource.watch(this.watcher)).willReturn(this.mockWatch);
}
@Test
public void shouldStartOnce() {
+ initStubs();
this.watcher.start();
this.watcher.start();
@@ -90,6 +87,7 @@ public class PodReadinessWatcherTest {
@Test
public void shouldStopOnce() {
+ initStubs();
this.watcher.start();
this.watcher.stop();
this.watcher.stop();
@@ -99,6 +97,7 @@ public class PodReadinessWatcherTest {
@Test
public void shouldHandleEventWithStateChange() {
+ initStubs();
given(this.mockPodResource.isReady()).willReturn(true);
given(this.mockPod.getStatus()).willReturn(this.mockPodStatus);
@@ -110,6 +109,7 @@ public class PodReadinessWatcherTest {
@Test
public void shouldIgnoreEventIfStateDoesNotChange() {
+ initStubs();
given(this.mockPod.getStatus()).willReturn(this.mockPodStatus);
this.watcher.start();
@@ -120,6 +120,7 @@ public class PodReadinessWatcherTest {
@Test
public void shouldHandleClose() {
+ initStubs();
this.watcher.onClose(this.mockKubernetesClientException);
verify(this.mockPodResource).watch(this.watcher);
@@ -132,4 +133,10 @@ public class PodReadinessWatcherTest {
verify(this.mockPodResource, times(0)).watch(this.watcher);
}
+ private void initStubs() {
+ given(this.mockKubernetesClient.pods()).willReturn(this.mockPodsOperation);
+ given(this.mockPodsOperation.withName(POD_NAME)).willReturn(this.mockPodResource);
+ given(this.mockPodResource.watch(this.watcher)).willReturn(this.mockWatch);
+ }
+
}