Fixing Junit tests. For spring-cloud-kubernetes-leader adding support for Junit5, for spring-cloud-kubernetes examples adding junit-vintage-engine since Arquillian Cube does not support JUnit5
This commit is contained in:
@@ -78,6 +78,14 @@
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>2.22.2</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<version>2.22.2</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -19,6 +19,12 @@
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
<version>5.6.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.arquillian.cube</groupId>
|
||||
<artifactId>arquillian-cube-kubernetes</artifactId>
|
||||
|
||||
@@ -36,6 +36,12 @@
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
<version>5.6.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.arquillian.cube</groupId>
|
||||
<artifactId>arquillian-cube-kubernetes</artifactId>
|
||||
|
||||
@@ -36,6 +36,12 @@
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
<version>5.6.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.arquillian.cube</groupId>
|
||||
<artifactId>arquillian-cube-kubernetes</artifactId>
|
||||
|
||||
@@ -61,14 +61,24 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.junit.vintage</groupId>
|
||||
<artifactId>junit-vintage-engine</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>2.22.2</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<version>${maven-failsafe-plugin.version}</version>
|
||||
<version>2.22.2</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
@@ -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" })
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user