Skip to content

Commit 9e6988f

Browse files
committed
fix tests
Signed-off-by: wind57 <[email protected]>
1 parent f559097 commit 9e6988f

File tree

8 files changed

+68
-5
lines changed

8 files changed

+68
-5
lines changed

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-leader-election/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/election/AbstractLeaderElection.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.cloud.kubernetes.fabric8.leader.election;
1818

19+
import java.util.concurrent.CompletableFuture;
1920
import java.util.concurrent.TimeUnit;
2021
import java.util.concurrent.atomic.AtomicInteger;
2122
import java.util.function.BooleanSupplier;
@@ -24,7 +25,6 @@
2425
import io.fabric8.kubernetes.client.Config;
2526
import io.fabric8.kubernetes.client.KubernetesClient;
2627
import io.fabric8.kubernetes.client.KubernetesClientBuilder;
27-
import org.junit.jupiter.api.AfterEach;
2828
import org.junit.jupiter.api.extension.ExtendWith;
2929
import org.mockito.MockedStatic;
3030
import org.mockito.Mockito;
@@ -67,8 +67,16 @@ static void beforeAll(String candidateIdentity) {
6767
LEADER_UTILS_MOCKED_STATIC.when(LeaderUtils::hostName).thenReturn(candidateIdentity);
6868
}
6969

70-
@AfterEach
71-
void afterEach() {
70+
void stopFutureAndDeleteLease(CompletableFuture<?> leaderFuture) {
71+
72+
try {
73+
leaderFuture.cancel(true);
74+
leaderFuture.join();
75+
}
76+
catch (Exception e) {
77+
// ignore
78+
}
79+
7280
kubernetesClient.leases()
7381
.inNamespace("default")
7482
.withName("spring-k8s-leader-election-lock")

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-leader-election/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/election/Assertions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ static void assertAcquireAndRenew(CapturedOutput output, Supplier<Lease> leaseSu
5757
+ "(" + candidateIdentity + ")'");
5858

5959
// 5. we are the leader (comes from fabric8 code)
60-
assertThat(output.getOut()).contains("Leader changed from null to " + candidateIdentity);
60+
assertThat(output.getOut()).matches("(?s).*Leader changed from (|null) to " + candidateIdentity + ".*");
6161

6262
// 6. wait until a renewal happens (comes from fabric code)
6363
// this one means that we have extended our leadership

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-leader-election/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/election/Fabric8LeaderElectionCompletedExceptionallyAndRestartedIT.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616

1717
package org.springframework.cloud.kubernetes.fabric8.leader.election;
1818

19+
import java.util.concurrent.CompletableFuture;
20+
21+
import org.junit.jupiter.api.AfterEach;
1922
import org.junit.jupiter.api.BeforeAll;
2023
import org.junit.jupiter.api.Test;
2124

@@ -50,6 +53,12 @@ static void beforeAll() {
5053
AbstractLeaderElection.beforeAll(NAME);
5154
}
5255

56+
@AfterEach
57+
void afterEach() {
58+
CompletableFuture<?> future = initiator.leaderFeature();
59+
stopFutureAndDeleteLease(future);
60+
}
61+
5362
@Test
5463
void test(CapturedOutput output) {
5564

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-leader-election/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/election/Fabric8LeaderElectionIsLostAndRestartedIT.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@
1717
package org.springframework.cloud.kubernetes.fabric8.leader.election;
1818

1919
import io.fabric8.kubernetes.api.model.coordination.v1.Lease;
20+
import org.junit.jupiter.api.AfterEach;
2021
import org.junit.jupiter.api.BeforeAll;
2122
import org.junit.jupiter.api.Test;
2223

24+
import org.springframework.beans.factory.annotation.Autowired;
2325
import org.springframework.boot.test.system.CapturedOutput;
2426
import org.springframework.test.context.TestPropertySource;
2527

@@ -38,11 +40,19 @@ public class Fabric8LeaderElectionIsLostAndRestartedIT extends AbstractLeaderEle
3840

3941
private static final String NAME = "drops-than-recovers";
4042

43+
@Autowired
44+
private Fabric8LeaderElectionInitiator initiator;
45+
4146
@BeforeAll
4247
static void beforeAll() {
4348
AbstractLeaderElection.beforeAll(NAME);
4449
}
4550

51+
@AfterEach
52+
void afterEach() {
53+
stopFutureAndDeleteLease(initiator.leaderFeature());
54+
}
55+
4656
@Test
4757
void test(CapturedOutput output) {
4858

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-leader-election/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/election/Fabric8LeaderElectionReadinessCanceledIT.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.cloud.kubernetes.fabric8.leader.election;
1818

19+
import org.junit.jupiter.api.AfterEach;
1920
import org.junit.jupiter.api.BeforeAll;
2021
import org.junit.jupiter.api.Test;
2122

@@ -36,13 +37,18 @@
3637
class Fabric8LeaderElectionReadinessCanceledIT extends AbstractLeaderElection {
3738

3839
@Autowired
39-
Fabric8LeaderElectionInitiator initiator;
40+
private Fabric8LeaderElectionInitiator initiator;
4041

4142
@BeforeAll
4243
static void beforeAll() {
4344
AbstractLeaderElection.beforeAll("canceled-readiness-it");
4445
}
4546

47+
@AfterEach
48+
void afterEach() {
49+
stopFutureAndDeleteLease(initiator.leaderFeature());
50+
}
51+
4652
@Test
4753
void test(CapturedOutput output) {
4854

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-leader-election/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/election/Fabric8LeaderElectionReadinessFailsIT.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616

1717
package org.springframework.cloud.kubernetes.fabric8.leader.election;
1818

19+
import org.junit.jupiter.api.AfterEach;
1920
import org.junit.jupiter.api.BeforeAll;
2021
import org.junit.jupiter.api.Test;
2122

23+
import org.springframework.beans.factory.annotation.Autowired;
2224
import org.springframework.boot.test.system.CapturedOutput;
2325
import org.springframework.test.context.TestPropertySource;
2426

@@ -34,11 +36,19 @@
3436
properties = { "readiness.fails=true", "spring.cloud.kubernetes.leader.election.wait-for-pod-ready=true" })
3537
class Fabric8LeaderElectionReadinessFailsIT extends AbstractLeaderElection {
3638

39+
@Autowired
40+
private Fabric8LeaderElectionInitiator initiator;
41+
3742
@BeforeAll
3843
static void beforeAll() {
3944
AbstractLeaderElection.beforeAll("readiness-fails-simple-it");
4045
}
4146

47+
@AfterEach
48+
void afterEach() {
49+
stopFutureAndDeleteLease(initiator.leaderFeature());
50+
}
51+
4252
/**
4353
* <pre>
4454
* - readiness fails after 2 seconds - leader election process is not started at all

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-leader-election/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/election/Fabric8LeaderElectionReadinessPassesIT.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616

1717
package org.springframework.cloud.kubernetes.fabric8.leader.election;
1818

19+
import org.junit.jupiter.api.AfterEach;
1920
import org.junit.jupiter.api.BeforeAll;
2021
import org.junit.jupiter.api.Test;
2122

23+
import org.springframework.beans.factory.annotation.Autowired;
2224
import org.springframework.boot.test.system.CapturedOutput;
2325
import org.springframework.test.context.TestPropertySource;
2426

@@ -35,13 +37,21 @@
3537
properties = { "readiness.passes=true", "spring.cloud.kubernetes.leader.election.wait-for-pod-ready=true" })
3638
class Fabric8LeaderElectionReadinessPassesIT extends AbstractLeaderElection {
3739

40+
@Autowired
41+
private Fabric8LeaderElectionInitiator initiator;
42+
3843
private static final String NAME = "readiness-passes-simple-it";
3944

4045
@BeforeAll
4146
static void beforeAll() {
4247
AbstractLeaderElection.beforeAll(NAME);
4348
}
4449

50+
@AfterEach
51+
void afterEach() {
52+
stopFutureAndDeleteLease(initiator.leaderFeature());
53+
}
54+
4555
/**
4656
* <pre>
4757
* - readiness passes after 2 seconds

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-leader-election/src/test/java/org/springframework/cloud/kubernetes/fabric8/leader/election/Fabric8LeaderElectionSimpleIT.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616

1717
package org.springframework.cloud.kubernetes.fabric8.leader.election;
1818

19+
import org.junit.jupiter.api.AfterEach;
1920
import org.junit.jupiter.api.BeforeAll;
2021
import org.junit.jupiter.api.Test;
2122

23+
import org.springframework.beans.factory.annotation.Autowired;
2224
import org.springframework.boot.test.system.CapturedOutput;
2325
import org.springframework.test.context.TestPropertySource;
2426

@@ -33,13 +35,21 @@
3335
@TestPropertySource(properties = "spring.cloud.kubernetes.leader.election.wait-for-pod-ready=false")
3436
class Fabric8LeaderElectionSimpleIT extends AbstractLeaderElection {
3537

38+
@Autowired
39+
private Fabric8LeaderElectionInitiator initiator;
40+
3641
private static final String NAME = "simple-it";
3742

3843
@BeforeAll
3944
static void beforeAll() {
4045
AbstractLeaderElection.beforeAll(NAME);
4146
}
4247

48+
@AfterEach
49+
void afterEach() {
50+
stopFutureAndDeleteLease(initiator.leaderFeature());
51+
}
52+
4353
/**
4454
* <pre>
4555
* - readiness is not checked

0 commit comments

Comments
 (0)