From c1d090496588e6cd0ba66b0a0a3d17b1c3b08d2f Mon Sep 17 00:00:00 2001 From: l3002 Date: Sat, 3 Feb 2024 13:27:55 +0530 Subject: [PATCH 1/3] fix : modified DockerFileUtilTest.interpolate_withNullFilter_shouldPickDefaultFilter for Windows Signed-off-by: l3002 --- .../eclipse/jkube/kit/build/api/helper/DockerFileUtilTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/helper/DockerFileUtilTest.java b/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/helper/DockerFileUtilTest.java index 492b8f7932..39ac4cba53 100644 --- a/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/helper/DockerFileUtilTest.java +++ b/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/helper/DockerFileUtilTest.java @@ -119,7 +119,7 @@ void interpolate_withNullFilter_shouldPickDefaultFilter() throws IOException { String result = DockerFileUtil.interpolate(givenDockerfile, properties, null); // Then - String[] lines = result.split("\n"); + String[] lines = result.split(System.lineSeparator()); assertThat(result).isNotNull(); assertThat(lines).hasSize(2) .containsExactly("FROM openjdk:latest", From 3bea32fc86d1faccd92f8dd7fb26943f605fab46 Mon Sep 17 00:00:00 2001 From: l3002 Date: Mon, 5 Feb 2024 08:06:04 +0530 Subject: [PATCH 2/3] fix : modified OpenShiftRegistryAuthHandlerTest.createOpenShiftConfig for Windows Signed-off-by: l3002 --- .../api/auth/handler/OpenShiftRegistryAuthHandlerTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/auth/handler/OpenShiftRegistryAuthHandlerTest.java b/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/auth/handler/OpenShiftRegistryAuthHandlerTest.java index 7cbe3f2658..1885d0261b 100644 --- a/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/auth/handler/OpenShiftRegistryAuthHandlerTest.java +++ b/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/auth/handler/OpenShiftRegistryAuthHandlerTest.java @@ -20,6 +20,7 @@ import java.nio.file.Path; import java.util.Base64; import java.util.Map; +import java.util.Objects; import java.util.function.Consumer; import com.fasterxml.jackson.core.type.TypeReference; @@ -127,7 +128,7 @@ private void createOpenShiftConfig(File homeDir, String testConfig) { File kubeDir = new File(homeDir, ".kube"); kubeDir.mkdirs(); File config = new File(kubeDir, "config"); - IOUtils.copy(getClass().getResourceAsStream(testConfig), new FileOutputStream(config)); + Files.copy(new File(Objects.requireNonNull(getClass().getResource(testConfig)).getFile()).toPath(), config.toPath()); } catch (IOException e) { throw new RuntimeException(e); } From 396a1e2c8365ea8b840832665b5b3839b6579999 Mon Sep 17 00:00:00 2001 From: l3002 Date: Wed, 7 Feb 2024 17:04:27 +0530 Subject: [PATCH 3/3] fix(test): modified AssemblyManagerCreateDockerTarArchiveTest for Windows Signed-off-by: l3002 --- ...mblyManagerCreateDockerTarArchiveTest.java | 58 ++++++++++--------- .../kit/common/assertj/ArchiveAssertions.java | 5 +- 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/assembly/AssemblyManagerCreateDockerTarArchiveTest.java b/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/assembly/AssemblyManagerCreateDockerTarArchiveTest.java index 8a3d4067a6..96ef9dad49 100644 --- a/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/assembly/AssemblyManagerCreateDockerTarArchiveTest.java +++ b/jkube-kit/build/api/src/test/java/org/eclipse/jkube/kit/build/api/assembly/AssemblyManagerCreateDockerTarArchiveTest.java @@ -41,6 +41,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; +import static org.apache.commons.io.FilenameUtils.separatorsToSystem; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; @@ -105,8 +106,8 @@ void withoutDockerfile() throws IOException { assertBuildDirectoryFileTree("test-image").containsExactlyInAnyOrder( "Dockerfile", "jkube-generated-layer-final-artifact", - "jkube-generated-layer-final-artifact/maven", - "jkube-generated-layer-final-artifact/maven/test-0.1.0.jar", + separatorsToSystem("jkube-generated-layer-final-artifact/maven"), + separatorsToSystem("jkube-generated-layer-final-artifact/maven/test-0.1.0.jar"), "maven" ); } @@ -136,8 +137,8 @@ void withoutDockerfileAndFinalCustomizer() throws IOException { assertBuildDirectoryFileTree("no-docker-file-and-customizer").containsExactlyInAnyOrder( "Dockerfile", "jkube-generated-layer-final-artifact", - "jkube-generated-layer-final-artifact/maven", - "jkube-generated-layer-final-artifact/maven/test-0.1.0.jar", + separatorsToSystem("jkube-generated-layer-final-artifact/maven"), + separatorsToSystem("jkube-generated-layer-final-artifact/maven/test-0.1.0.jar"), "maven"); assertThat(customized).isTrue(); } @@ -166,8 +167,8 @@ void withoutDockerfileAndAlreadyExistingFileInAssemblyGetsOverwritten() throws I assertBuildDirectoryFileTree("modified-image").containsExactlyInAnyOrder( "Dockerfile", "jkube-generated-layer-final-artifact", - "jkube-generated-layer-final-artifact/maven", - "jkube-generated-layer-final-artifact/maven/test-0.1.0.jar", + separatorsToSystem("jkube-generated-layer-final-artifact/maven"), + separatorsToSystem("jkube-generated-layer-final-artifact/maven/test-0.1.0.jar"), "maven"); assertThat(resolveDockerBuild("modified-image") .resolve("jkube-generated-layer-final-artifact").resolve("maven").resolve("test-0.1.0.jar")) @@ -197,10 +198,10 @@ void withDockerfileInBaseDirectory() throws IOException { assertBuildDirectoryFileTree("test-image").containsExactlyInAnyOrder( "Dockerfile", "maven", - "maven/Dockerfile", - "maven/test-0.1.0.jar", - "maven/target", - "maven/target/test-0.1.0.jar"); + separatorsToSystem("maven/Dockerfile"), + separatorsToSystem("maven/test-0.1.0.jar"), + separatorsToSystem("maven/target"), + separatorsToSystem("maven/target/test-0.1.0.jar")); } @Test @@ -238,11 +239,11 @@ void withDockerfileInBaseDirectoryAndAssemblyFile() throws IOException { assertBuildDirectoryFileTree("dockerfile-and-assembly-file").containsExactlyInAnyOrder( "Dockerfile", "maven", - "maven/Dockerfile", - "maven/test-0.1.0.jar", - "maven/extra-file-1.txt", - "maven/target", - "maven/target/test-0.1.0.jar"); + separatorsToSystem("maven/Dockerfile"), + separatorsToSystem("maven/test-0.1.0.jar"), + separatorsToSystem("maven/extra-file-1.txt"), + separatorsToSystem("maven/target"), + separatorsToSystem("maven/target/test-0.1.0.jar")); } @Test @@ -271,9 +272,9 @@ void withDockerfileInBaseDirectoryAndDockerinclude() throws IOException { assertBuildDirectoryFileTree("test-image").containsExactlyInAnyOrder( "Dockerfile", "maven", - "maven/test-0.1.0.jar", - "maven/target", - "maven/target/ill-be-included.txt"); + separatorsToSystem("maven/test-0.1.0.jar"), + separatorsToSystem("maven/target"), + separatorsToSystem("maven/target/ill-be-included.txt")); } @Test @@ -302,11 +303,12 @@ void withDockerfileInBaseDirectoryAndDockerexclude() throws IOException { assertBuildDirectoryFileTree("test-image").containsExactlyInAnyOrder( "Dockerfile", "maven", - "maven/Dockerfile", - "maven/test-0.1.0.jar", - "maven/target", - "maven/target/test-0.1.0.jar", - "maven/target/ill-be-included"); + separatorsToSystem("maven/Dockerfile"), + separatorsToSystem("maven/test-0.1.0.jar"), + separatorsToSystem("maven/target"), + separatorsToSystem("maven/target/test-0.1.0.jar"), + separatorsToSystem("maven/target/ill-be-included") + ); } @Test @@ -335,11 +337,11 @@ void withDockerfileInBaseDirectoryAndDockerignore() throws IOException { assertBuildDirectoryFileTree("test-image").containsExactlyInAnyOrder( "Dockerfile", "maven", - "maven/Dockerfile", - "maven/test-0.1.0.jar", - "maven/target", - "maven/target/test-0.1.0.jar", - "maven/target/i-wont-be-ignored"); + separatorsToSystem("maven/Dockerfile"), + separatorsToSystem("maven/test-0.1.0.jar"), + separatorsToSystem("maven/target"), + separatorsToSystem("maven/target/test-0.1.0.jar"), + separatorsToSystem("maven/target/i-wont-be-ignored")); } private void assertTargetHasDockerDirectories(String imageDirName) { diff --git a/jkube-kit/common/src/test/java/org/eclipse/jkube/kit/common/assertj/ArchiveAssertions.java b/jkube-kit/common/src/test/java/org/eclipse/jkube/kit/common/assertj/ArchiveAssertions.java index 229e83c260..f5884b23f5 100644 --- a/jkube-kit/common/src/test/java/org/eclipse/jkube/kit/common/assertj/ArchiveAssertions.java +++ b/jkube-kit/common/src/test/java/org/eclipse/jkube/kit/common/assertj/ArchiveAssertions.java @@ -38,6 +38,7 @@ import org.assertj.core.error.ShouldBeEmpty; import org.assertj.core.internal.Failures; +import static org.apache.commons.io.FilenameUtils.separatorsToSystem; import static org.assertj.core.error.ShouldBeEqualIgnoringCase.shouldBeEqual; public class ArchiveAssertions extends AbstractFileAssert { @@ -126,8 +127,8 @@ public ArchiveAssertions hasSameContentAsDirectory(File directory) throws IOExce final List actualEntries = new ArrayList<>(); processArchive(actual, (entry, tis) -> { // Remove last separator for directory entries -> Required for fileTree assertion - actualEntries.add(entry.isDirectory() ? - entry.getName().substring(0, entry.getName().length() - 1) : entry.getName()); + actualEntries.add(separatorsToSystem(entry.isDirectory() ? + entry.getName().substring(0, entry.getName().length() - 1) : entry.getName())); final File expected = new File(directory, entry.getName()); if (!expected.exists()) { throw failures.failure(info, new BasicErrorMessageFactory("%nExpecting archive <%s>%nnot to contain entry:%n <%s>%n",