From 6a64e3b11cc4f2fe83ca70556bec9a44c08a5ff2 Mon Sep 17 00:00:00 2001 From: Rohan Kumar Date: Wed, 17 Jan 2024 21:33:32 +0530 Subject: [PATCH] test (jkube-kit/build/service/buildpacks) : Refactor AbstractBuildPackCliDownloaderTest to initialize server only once Follow up to https://github.com/eclipse/jkube/pull/2495 Update TestHttpStaticServer used in tests to be initialized only once, holding both valid and invalid upload directories. Only change the download url properties in setup methods where needed. Signed-off-by: Rohan Kumar --- .../AbstractBuildPackCliDownloaderTest.java | 37 +++++++++---------- .../test/resources/invalid-artifacts/foo.tgz | 0 2 files changed, 18 insertions(+), 19 deletions(-) delete mode 100644 jkube-kit/build/service/buildpacks/src/test/resources/invalid-artifacts/foo.tgz diff --git a/jkube-kit/build/service/buildpacks/src/test/java/org/eclipse/jkube/kit/service/buildpacks/AbstractBuildPackCliDownloaderTest.java b/jkube-kit/build/service/buildpacks/src/test/java/org/eclipse/jkube/kit/service/buildpacks/AbstractBuildPackCliDownloaderTest.java index 27f056e526..0f52c2ba6c 100644 --- a/jkube-kit/build/service/buildpacks/src/test/java/org/eclipse/jkube/kit/service/buildpacks/AbstractBuildPackCliDownloaderTest.java +++ b/jkube-kit/build/service/buildpacks/src/test/java/org/eclipse/jkube/kit/service/buildpacks/AbstractBuildPackCliDownloaderTest.java @@ -44,10 +44,11 @@ abstract class AbstractBuildPackCliDownloaderTest { private KitLogger kitLogger; @TempDir private File temporaryFolder; - private File remoteDirectory; private File oldPackCliInJKubeDir; private TestHttpStaticServer server; private BuildPackCliDownloader buildPackCliDownloader; + private String serverBaseUrl; + private Properties packProperties; abstract String getApplicablePackBinary(); abstract String getInvalidApplicablePackBinary(); @@ -66,9 +67,18 @@ void setUp() { overriddenEnvironmentVariables.put("PATH", temporaryFolder.toPath().resolve("bin").toFile().getAbsolutePath()); EnvUtil.overridePropertyGetter(overriddenSystemProperties::get); EnvUtil.overrideEnvGetter(overriddenEnvironmentVariables::get); - remoteDirectory = new File(Objects.requireNonNull(getClass().getResource("/artifacts")).getFile()); + File remoteDirectory = new File(Objects.requireNonNull(getClass().getResource("/")).getFile()); server = new TestHttpStaticServer(remoteDirectory); - buildPackCliDownloader = new BuildPackCliDownloader(kitLogger, createPackProperties(server)); + serverBaseUrl = String.format("http://localhost:%d/", server.getPort()); + packProperties = new Properties(); + packProperties.put("version", TEST_PACK_VERSION); + packProperties.put("linux.artifact", serverBaseUrl + "artifacts/pack-v" + TEST_PACK_VERSION + "-linux.tgz"); + packProperties.put("linux-arm64.artifact", serverBaseUrl + "artifacts/pack-v" + TEST_PACK_VERSION + "-linux-arm64.tgz"); + packProperties.put("macos.artifact", serverBaseUrl + "artifacts/pack-v" + TEST_PACK_VERSION + "-macos.tgz"); + packProperties.put("macos-arm64.artifact", serverBaseUrl + "artifacts/pack-v" + TEST_PACK_VERSION + "-macos-arm64.tgz"); + packProperties.put("windows.artifact", serverBaseUrl + "artifacts/pack-v" + TEST_PACK_VERSION + "-windows.zip"); + packProperties.put("windows.binary-extension", "bat"); + buildPackCliDownloader = new BuildPackCliDownloader(kitLogger, packProperties); } @AfterEach @@ -149,9 +159,11 @@ void fileExistsAndHasTheRightSize() { class DownloadFails { @BeforeEach void setUp() { - remoteDirectory = new File(Objects.requireNonNull(getClass().getResource("/invalid-artifacts")).getFile()); - server = new TestHttpStaticServer(remoteDirectory); - buildPackCliDownloader = new BuildPackCliDownloader(kitLogger, createPackProperties(server)); + packProperties.put("linux.artifact", serverBaseUrl + "invalid-artifacts/pack-v" + TEST_PACK_VERSION + "-linux.tgz"); + packProperties.put("linux-arm64.artifact", serverBaseUrl + "invalid-artifacts/pack-v" + TEST_PACK_VERSION + "-linux-arm64.tgz"); + packProperties.put("macos.artifact", serverBaseUrl + "invalid-artifacts/pack-v" + TEST_PACK_VERSION + "-macos.tgz"); + packProperties.put("macos-arm64.artifact", serverBaseUrl + "invalid-artifacts/pack-v" + TEST_PACK_VERSION + "-macos-arm64.tgz"); + packProperties.put("windows.artifact", serverBaseUrl + "invalid-artifacts/pack-v" + TEST_PACK_VERSION + "-windows.zip"); } @Test @@ -219,19 +231,6 @@ private void givenPackCliPresentOnUserPath(String packResource) throws IOExcepti } } - private Properties createPackProperties(TestHttpStaticServer server) { - Properties packProperties = new Properties(); - String baseUrl = String.format("http://localhost:%d/", server.getPort()); - packProperties.put("version", TEST_PACK_VERSION); - packProperties.put("linux.artifact", baseUrl + "pack-v" + TEST_PACK_VERSION + "-linux.tgz"); - packProperties.put("linux-arm64.artifact", baseUrl + "pack-v" + TEST_PACK_VERSION + "-linux-arm64.tgz"); - packProperties.put("macos.artifact", baseUrl + "pack-v" + TEST_PACK_VERSION + "-macos.tgz"); - packProperties.put("macos-arm64.artifact", baseUrl + "pack-v" + TEST_PACK_VERSION + "-macos-arm64.tgz"); - packProperties.put("windows.artifact", baseUrl + "pack-v" + TEST_PACK_VERSION + "-windows.zip"); - packProperties.put("windows.binary-extension", "bat"); - return packProperties; - } - private void givenPackCliAlreadyDownloaded() throws IOException { File jKubeDownloadDir = new File(temporaryFolder, ".jkube"); Files.createDirectory(jKubeDownloadDir.toPath()); diff --git a/jkube-kit/build/service/buildpacks/src/test/resources/invalid-artifacts/foo.tgz b/jkube-kit/build/service/buildpacks/src/test/resources/invalid-artifacts/foo.tgz deleted file mode 100644 index e69de29bb2..0000000000