Skip to content

Commit 3c8e0a0

Browse files
authored
Cleanup in it utilities 6 (#1770)
1 parent 4466d78 commit 3c8e0a0

File tree

3 files changed

+39
-36
lines changed
  • spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/test/java/org/springframework/cloud/kubernetes/k8s/client/reload/configmap
  • spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons

3 files changed

+39
-36
lines changed

spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-reload/src/test/java/org/springframework/cloud/kubernetes/k8s/client/reload/configmap/K8sClientConfigMapReloadIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ static void beforeAll() throws Exception {
8585
}
8686

8787
@AfterAll
88-
static void afterAll() throws Exception {
88+
static void afterAll() {
8989
util.deleteClusterWide(NAMESPACE, Set.of("left", "right"));
9090
manifests(Phase.DELETE);
9191
util.deleteNamespace("left");

spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/Commons.java

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.springframework.cloud.kubernetes.integration.tests.commons;
1818

1919
import java.io.File;
20-
import java.io.IOException;
2120
import java.io.InputStream;
2221
import java.nio.charset.StandardCharsets;
2322
import java.nio.file.Files;
@@ -41,7 +40,6 @@
4140
import org.testcontainers.k3s.K3sContainer;
4241

4342
import org.springframework.core.io.ClassPathResource;
44-
import org.springframework.util.ReflectionUtils;
4543
import org.springframework.util.StreamUtils;
4644
import org.springframework.util.StringUtils;
4745

@@ -59,6 +57,8 @@
5957
*/
6058
public final class Commons {
6159

60+
private static String POM_VERSION;
61+
6262
private static final Log LOG = LogFactory.getLog(Commons.class);
6363

6464
private Commons() {
@@ -149,6 +149,11 @@ public static void loadImage(String image, String tag, String tarName, K3sContai
149149
* either get the tar from '/tmp/docker/images', or pull the image.
150150
*/
151151
public static void load(K3sContainer container, String tarName, String imageNameForDownload, String imageVersion) {
152+
153+
if (imageAlreadyInK3s(container, tarName)) {
154+
return;
155+
}
156+
152157
File dockerImagesRootDir = Paths.get(TMP_IMAGES).toFile();
153158
if (dockerImagesRootDir.exists() && dockerImagesRootDir.isDirectory()) {
154159
File[] tars = dockerImagesRootDir.listFiles();
@@ -204,22 +209,22 @@ public static void pullImage(String image, String tag, K3sContainer container) t
204209
try (PullImageCmd pullImageCmd = container.getDockerClient().pullImageCmd(image)) {
205210
pullImageCmd.withTag(tag).start().awaitCompletion();
206211
}
207-
208212
}
209213

210214
public static String pomVersion() {
211-
try (InputStream in = new ClassPathResource(KUBERNETES_VERSION_FILE).getInputStream()) {
212-
String version = StreamUtils.copyToString(in, StandardCharsets.UTF_8);
213-
if (StringUtils.hasText(version)) {
214-
version = version.trim();
215+
if (POM_VERSION == null) {
216+
try (InputStream in = new ClassPathResource(KUBERNETES_VERSION_FILE).getInputStream()) {
217+
String version = StreamUtils.copyToString(in, StandardCharsets.UTF_8);
218+
if (StringUtils.hasText(version)) {
219+
POM_VERSION = version.trim();
220+
}
221+
}
222+
catch (Exception e) {
223+
throw new RuntimeException(e);
215224
}
216-
return version;
217-
}
218-
catch (IOException e) {
219-
ReflectionUtils.rethrowRuntimeException(e);
220225
}
221-
// not reachable since exception rethrown at runtime
222-
return null;
226+
227+
return POM_VERSION;
223228
}
224229

225230
/**
@@ -259,4 +264,23 @@ private static void loadImageFromPath(String tarName, K3sContainer container) {
259264
});
260265
}
261266

267+
private static boolean imageAlreadyInK3s(K3sContainer container, String tarName) {
268+
try {
269+
boolean present = container.execInContainer("sh", "-c", "ctr images list | grep " + tarName)
270+
.getStdout()
271+
.contains(tarName);
272+
if (present) {
273+
System.out.println("image : " + tarName + " already in k3s, skipping");
274+
return true;
275+
}
276+
else {
277+
System.out.println("image : " + tarName + " not in k3s");
278+
return false;
279+
}
280+
}
281+
catch (Exception e) {
282+
throw new RuntimeException(e);
283+
}
284+
}
285+
262286
}

spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/Images.java

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,7 @@ public static String wiremockVersion() {
7979
}
8080

8181
public static void loadBusybox(K3sContainer container) {
82-
if (!imageAlreadyInK3s(container, BUSYBOX_TAR)) {
83-
Commons.load(container, BUSYBOX_TAR, BUSYBOX, busyboxVersion());
84-
}
82+
Commons.load(container, BUSYBOX_TAR, BUSYBOX, busyboxVersion());
8583
}
8684

8785
public static void loadWiremock(K3sContainer container) {
@@ -108,25 +106,6 @@ public static void loadRabbitmq(K3sContainer container) {
108106
Commons.load(container, RABBITMQ_TAR, RABBITMQ, rabbitMqVersion());
109107
}
110108

111-
private static boolean imageAlreadyInK3s(K3sContainer container, String tarName) {
112-
try {
113-
boolean present = container.execInContainer("sh", "-c", "ctr images list | grep " + tarName)
114-
.getStdout()
115-
.contains(tarName);
116-
if (present) {
117-
System.out.println("image : " + tarName + " already in k3s, skipping");
118-
return true;
119-
}
120-
else {
121-
System.out.println("image : " + tarName + " not in k3s");
122-
return false;
123-
}
124-
}
125-
catch (Exception e) {
126-
throw new RuntimeException(e);
127-
}
128-
}
129-
130109
// find the image version from current-images.txt
131110
private static String imageVersion(String imageNameForDownload) {
132111
BufferedReader reader = new BufferedReader(

0 commit comments

Comments
 (0)