Skip to content

Commit 66cf141

Browse files
committed
fix
Signed-off-by: wind57 <[email protected]>
1 parent f1ab3af commit 66cf141

File tree

7 files changed

+76
-224
lines changed

7 files changed

+76
-224
lines changed

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-discovery-server/pom.xml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@
1111

1212
<artifactId>spring-cloud-kubernetes-k8s-client-discovery-server</artifactId>
1313

14+
<properties>
15+
<spring-boot.repackage.skip>true</spring-boot.repackage.skip>
16+
<spring-boot.build-image.skip>true</spring-boot.build-image.skip>
17+
</properties>
18+
1419
<dependencies>
1520
<dependency>
1621
<groupId>org.springframework.boot</groupId>
@@ -43,10 +48,6 @@
4348
<directory>../src/main/resources</directory>
4449
<filtering>true</filtering>
4550
</resource>
46-
<resource>
47-
<directory>src/main/resources</directory>
48-
<filtering>true</filtering>
49-
</resource>
5051
</resources>
5152
</build>
5253

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-discovery-server/src/main/java/org/springframework/cloud/kubernetes/discoveryclient/it/App.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@
1818

1919
import org.springframework.boot.SpringApplication;
2020
import org.springframework.boot.autoconfigure.SpringBootApplication;
21+
import org.springframework.scheduling.annotation.EnableScheduling;
2122

2223
/**
2324
* @author wind57
2425
*/
2526
@SpringBootApplication
27+
@EnableScheduling
2628
public class App {
2729

2830
public static void main(String[] args) {

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-discovery-server/src/main/java/org/springframework/cloud/kubernetes/discoveryclient/it/HeartbeatListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class HeartbeatListener implements ApplicationListener<HeartbeatEvent> {
4040
@Override
4141
@SuppressWarnings("unchecked")
4242
public void onApplicationEvent(HeartbeatEvent event) {
43-
LOG.info("received heartbeat event");
43+
LOG.info("received heartbeat event in listener");
4444
List<EndpointNameAndNamespace> state = (List<EndpointNameAndNamespace>) event.getValue();
4545
this.state.set(state);
4646
LOG.info("state received : " + state);

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-discovery-server/src/main/resources/application.yaml

Lines changed: 0 additions & 18 deletions
This file was deleted.

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-discovery-server/src/test/java/org/springframework/cloud/kubernetes/discoveryclient/DiscoveryClientFilterNamespaceDelegate.java

Lines changed: 0 additions & 149 deletions
This file was deleted.

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-discovery-server/src/test/java/org/springframework/cloud/kubernetes/discoveryclient/it/DiscoveryServerClientBase.java

Lines changed: 26 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818

1919
import java.io.IOException;
2020
import java.io.StringReader;
21-
import java.util.LinkedHashMap;
21+
import java.time.Duration;
22+
import java.util.List;
2223
import java.util.Map;
2324
import java.util.Set;
24-
import java.util.concurrent.TimeUnit;
2525

2626
import io.kubernetes.client.openapi.ApiClient;
2727
import io.kubernetes.client.openapi.apis.CoreV1Api;
@@ -30,16 +30,14 @@
3030
import io.kubernetes.client.openapi.models.V1Deployment;
3131
import io.kubernetes.client.openapi.models.V1Service;
3232
import io.kubernetes.client.util.Config;
33-
import org.assertj.core.api.Assertions;
34-
import org.assertj.core.api.Condition;
33+
import org.awaitility.Awaitility;
3534
import org.junit.jupiter.api.BeforeAll;
3635
import org.junit.jupiter.api.extension.ExtendWith;
37-
import org.springframework.boot.test.system.CapturedOutput;
38-
import org.springframework.http.HttpMethod;
39-
import org.springframework.web.reactive.function.client.WebClient;
4036
import org.testcontainers.k3s.K3sContainer;
4137

38+
import org.springframework.boot.test.system.CapturedOutput;
4239
import org.springframework.boot.test.system.OutputCaptureExtension;
40+
import org.springframework.cloud.kubernetes.commons.discovery.EndpointNameAndNamespace;
4341
import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties;
4442
import org.springframework.cloud.kubernetes.integration.tests.commons.Commons;
4543
import org.springframework.cloud.kubernetes.integration.tests.commons.Phase;
@@ -112,52 +110,41 @@ protected static void serviceAccount(Phase phase) {
112110
rbacApi.createClusterRoleBinding(clusterRoleBinding, null, null, null, null);
113111
}
114112
else {
115-
rbacApi.deleteClusterRoleBinding(clusterRoleBinding.getMetadata().getName(),
116-
null, null, null, null, null, null);
113+
rbacApi.deleteClusterRoleBinding(clusterRoleBinding.getMetadata().getName(), null, null, null, null,
114+
null, null);
117115
}
118116
}
119-
catch(Exception e) {
117+
catch (Exception e) {
120118
throw new RuntimeException(e);
121119
}
122120

123121
}
124122

125-
protected static void testHeartBeat(K3sContainer container,
126-
HeartbeatListener heartbeatListener, CapturedOutput output) {
123+
protected static void testHeartBeat(HeartbeatListener heartbeatListener, CapturedOutput output) {
127124

128125
// 1. logs from discovery server
129-
Commons.waitForLogStatement("using delay : 3000", container, DISCOVERY_SERVER_LABEL);
130-
Commons.waitForLogStatement("received heartbeat event", container, DISCOVERY_SERVER_LABEL);
131-
Commons.waitForLogStatement("state received :", container, DISCOVERY_SERVER_LABEL);
126+
Commons.waitForLogStatement("using delay : 3000", K3S, DISCOVERY_SERVER_LABEL);
127+
Commons.waitForLogStatement("received heartbeat event", K3S, DISCOVERY_SERVER_LABEL);
128+
Commons.waitForLogStatement("state received :", K3S, DISCOVERY_SERVER_LABEL);
132129

133130
// 2. logs from discovery client
134131
assertThat(output.getOut()).contains("using delay : 3000");
135132
assertThat(output.getOut()).contains("state received : ");
133+
assertThat(output.getOut()).contains("received heartbeat event in listener");
134+
135+
// 3. heartbeat listener message
136+
List<EndpointNameAndNamespace> result = heartbeatListener.state.get();
137+
Awaitility.await()
138+
.atMost(Duration.ofSeconds(60))
139+
.pollInterval(Duration.ofSeconds(1))
140+
.until(() -> result.size() == 2);
141+
142+
List<String> namespaces = result.stream().map(EndpointNameAndNamespace::namespace).toList();
143+
assertThat(namespaces).containsExactlyInAnyOrder(NAMESPACE_LEFT, NAMESPACE_RIGHT);
136144

137-
// // 3. heartbeat listener message
138-
// WebClient.Builder builder = builder();
139-
// WebClient client = builder.baseUrl("http://localhost:80/discoveryclient-it/state").build();
140-
// String result = client.method(HttpMethod.GET)
141-
// .retrieve()
142-
// .bodyToMono(String.class)
143-
// .retryWhen(retrySpec())
144-
// .block();
145-
//
146-
// Condition<LinkedHashMap<String, String>> wireMockService = new Condition<>(
147-
// map -> map.entrySet().stream().anyMatch(en -> en.getValue().contains("service-wiremock-deployment")),
148-
// "");
149-
//
150-
// Condition<LinkedHashMap<String, String>> discoveryServerService = new Condition<>(map -> map.entrySet()
151-
// .stream()
152-
// .anyMatch(en -> en.getValue().contains("spring-cloud-kubernetes-k8s-client-discovery-server")), "");
153-
//
154-
// Assertions.assertThat(BASIC_JSON_TESTER.from(result))
155-
// .<LinkedHashMap<String, String>>extractingJsonPathArrayValue("$.[*]")
156-
// .areAtLeastOne(wireMockService);
157-
//
158-
// Assertions.assertThat(BASIC_JSON_TESTER.from(result))
159-
// .<LinkedHashMap<String, String>>extractingJsonPathArrayValue("$.[*]")
160-
// .areAtLeastOne(discoveryServerService);
145+
List<String> endpointNames = result.stream().map(EndpointNameAndNamespace::endpointName).toList();
146+
assertThat(endpointNames.get(0)).contains("service-wiremock-deployment");
147+
assertThat(endpointNames.get(1)).contains("service-wiremock-deployment");
161148
}
162149

163150
}

0 commit comments

Comments
 (0)