From 4a9fcd735eb4f2a479fe67525aa6942d7d09226c Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Fri, 10 Jun 2022 06:02:56 -0400 Subject: [PATCH] Fix wiremock in fabric8 tests --- .../fabric8/configmap/Fabric8DiscoveryIT.java | 3 +++ .../it/Fabric8ClientLoadbalancerIT.java | 3 +++ .../integration/tests/commons/K8SUtils.java | 14 +++++++++++++- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryIT.java index 5695b357..9f653aac 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/configmap/Fabric8DiscoveryIT.java @@ -157,6 +157,9 @@ class Fabric8DiscoveryIT { try { Deployment deployment = client.apps().deployments().load(getMockDeployment()).get(); + String[] image = K8SUtils.getImageFromDeployment(deployment).split(":"); + Commons.pullImage(image[0], image[1], K3S); + Commons.loadImage(image[0], image[1], "wiremock", K3S); client.apps().deployments().inNamespace(NAMESPACE).create(deployment); mockDeploymentName = deployment.getMetadata().getName(); mockDeploymentImage = deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage(); diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/Fabric8ClientLoadbalancerIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/Fabric8ClientLoadbalancerIT.java index c6f96923..90b1507b 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/Fabric8ClientLoadbalancerIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/client/loadbalancer/it/Fabric8ClientLoadbalancerIT.java @@ -215,6 +215,9 @@ public class Fabric8ClientLoadbalancerIT { try { Deployment deployment = client.apps().deployments().load(getMockDeployment()).get(); + String[] image = K8SUtils.getImageFromDeployment(deployment).split(":"); + Commons.pullImage(image[0], image[1], K3S); + Commons.loadImage(image[0], image[1], "wiremock", K3S); client.apps().deployments().inNamespace(NAMESPACE).create(deployment); mockDeploymentName = deployment.getMetadata().getName(); diff --git a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java index 94b0b939..6ef28e3e 100644 --- a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java +++ b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/K8SUtils.java @@ -31,6 +31,7 @@ import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; +import io.fabric8.kubernetes.api.model.apps.Deployment; import io.kubernetes.client.openapi.ApiClient; import io.kubernetes.client.openapi.ApiException; import io.kubernetes.client.openapi.Configuration; @@ -352,7 +353,7 @@ public class K8SUtils { } /** - * Gets the image from the deployment yaml. Assumes there is only one container + * Gets the image from a Kubernetes Client deployment yaml. Assumes there is only one container * defined in the deployment. * @param deployment deployment yaml * @return An array where the first item is the mage name and the second item is the @@ -362,6 +363,17 @@ public class K8SUtils { return deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage(); } + /** + * Gets the image from a Fabric8 deployment yaml. Assumes there is only one container + * defined in the deployment. + * @param deployment deployment yaml + * @return An array where the first item is the mage name and the second item is the + * tag + */ + public static String getImageFromDeployment(Deployment deployment) { + return deployment.getSpec().getTemplate().getSpec().getContainers().get(0).getImage(); + } + private void innerDeployWiremock(String namespace, boolean rootPath, K3sContainer container) throws Exception { V1Deployment deployment = getWiremockDeployment(); String[] image = getImageFromDeployment(deployment).split(":");