From 85c838d4752297a5b88a962670cf16eac2eb4cd6 Mon Sep 17 00:00:00 2001 From: Grzegorz Oleksy Date: Wed, 29 Nov 2023 13:10:26 +0100 Subject: [PATCH] ACS-6151 - added requested changes --- engines/base/pom.xml | 1 - .../base/LivenessReadinessProbeTest.java | 21 +++++++++++++++--- engines/base/src/test/resources/test.jpeg | Bin 6968 -> 0 bytes engines/base/src/test/resources/test.pdf | Bin 13857 -> 0 bytes ...ImageMagickLivenessReadinessProbeTest.java | 2 +- ...PdfRendererLivenessReadinessProbeTest.java | 2 +- 6 files changed, 20 insertions(+), 6 deletions(-) delete mode 100644 engines/base/src/test/resources/test.jpeg delete mode 100644 engines/base/src/test/resources/test.pdf diff --git a/engines/base/pom.xml b/engines/base/pom.xml index 9904403a4..674e54800 100644 --- a/engines/base/pom.xml +++ b/engines/base/pom.xml @@ -109,7 +109,6 @@ org.testcontainers junit-jupiter 1.19.1 - test diff --git a/engines/base/src/test/java/org/alfresco/transform/base/LivenessReadinessProbeTest.java b/engines/base/src/test/java/org/alfresco/transform/base/LivenessReadinessProbeTest.java index b200c75a2..b1bde0d1e 100644 --- a/engines/base/src/test/java/org/alfresco/transform/base/LivenessReadinessProbeTest.java +++ b/engines/base/src/test/java/org/alfresco/transform/base/LivenessReadinessProbeTest.java @@ -22,6 +22,8 @@ public abstract class LivenessReadinessProbeTest { + protected final Integer MAX_TRANSFORMS = 10; + @Test public void readinessShouldReturnAn429ErrorAfterReachingMaxTransforms() throws URISyntaxException { @@ -32,8 +34,13 @@ public void readinessShouldReturnAn429ErrorAfterReachingMaxTransforms() throws U env.start(); var url = "http://localhost:" + env.getFirstMappedPort(); - int max_transforms = 11; - for (int i = 0; i createEnv(String image) throws URISyntaxException final GenericContainer transformCore = new GenericContainer<>("alfresco/"+image+":latest"); return transformCore.withEnv("livenessTransformEnabled", "true") - .withEnv("maxTransforms", "10") + .withEnv("maxTransforms", MAX_TRANSFORMS.toString()) .withNetworkAliases(image) .withExposedPorts(8090) .waitingFor(Wait.forListeningPort()); @@ -104,4 +111,12 @@ private static void assertProbeDied(String url) .exchange() .expectStatus().isEqualTo(TOO_MANY_REQUESTS); } + + private static void assertProbeIsOk(String url) + { + WebTestClient client = WebTestClient.bindToServer().baseUrl(url+"/ready").build(); + client.get() + .exchange() + .expectStatus().isEqualTo(OK); + } } \ No newline at end of file diff --git a/engines/base/src/test/resources/test.jpeg b/engines/base/src/test/resources/test.jpeg deleted file mode 100644 index 33b9bc87ed944215406b4e5307f40a055e998eb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6968 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