From 473014e3e3025ef9995c898f626e8e934645c170 Mon Sep 17 00:00:00 2001 From: wind57 Date: Wed, 2 Apr 2025 11:22:55 +0300 Subject: [PATCH] fix Signed-off-by: wind57 --- .../tests/commons/fabric8_client/Util.java | 11 +++++++++++ .../tests/commons/native_client/Util.java | 16 ++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/fabric8_client/Util.java b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/fabric8_client/Util.java index d8e0a81f..7f4ef19a 100644 --- a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/fabric8_client/Util.java +++ b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/fabric8_client/Util.java @@ -151,6 +151,7 @@ public final class Util { System.out.println("Ended deployment delete in " + (System.currentTimeMillis() - startTime) + "ms"); client.services().inNamespace(namespace).resource(service).delete(); + waitForServiceToBeDeleted(namespace, service); } catch (Exception e) { @@ -363,6 +364,16 @@ public final class Util { }); } + private void waitForServiceToBeDeleted(String namespace, Service service) { + + String serviceName = service.getMetadata().getName(); + + await().pollInterval(Duration.ofSeconds(1)).atMost(30, TimeUnit.SECONDS).until(() -> { + Service inner = client.services().inNamespace(namespace).withName(serviceName).get(); + return inner == null; + }); + } + private void waitForDeployment(String namespace, Deployment deployment) { String deploymentName = deploymentName(deployment); await().pollInterval(Duration.ofSeconds(2)) diff --git a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/native_client/Util.java b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/native_client/Util.java index 92619aaf..1f385d37 100644 --- a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/native_client/Util.java +++ b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/native_client/Util.java @@ -212,6 +212,7 @@ public final class Util { service.getMetadata().setNamespace(namespace); coreV1Api.deleteNamespacedService(service.getMetadata().getName(), service.getMetadata().getNamespace(), null, null, null, null, null, null); + waitForServiceToBeDeleted(service.getMetadata().getName(), namespace); } catch (Exception e) { throw new RuntimeException(e); @@ -507,6 +508,21 @@ public final class Util { }); } + private void waitForServiceToBeDeleted(String serviceName, String namespace) { + await().timeout(Duration.ofSeconds(180)).until(() -> { + try { + coreV1Api.readNamespacedService(serviceName, namespace, null); + return false; + } + catch (ApiException e) { + if (e.getCode() == HttpURLConnection.HTTP_NOT_FOUND) { + return true; + } + throw new RuntimeException(e); + } + }); + } + private void waitForDeploymentPodsToBeDeleted(Map labels, String namespace) { await().timeout(Duration.ofSeconds(180)).until(() -> { try {