ACS-6151 - added requested changes

This commit is contained in:
Grzegorz Oleksy 2023-11-29 13:10:26 +01:00
parent 51062f499c
commit 85c838d475
6 changed files with 20 additions and 6 deletions

View File

@ -109,7 +109,6 @@
<groupId>org.testcontainers</groupId> <groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId> <artifactId>junit-jupiter</artifactId>
<version>1.19.1</version> <version>1.19.1</version>
<scope>test</scope>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@ -22,6 +22,8 @@ import org.springframework.web.reactive.function.client.WebClient;
public abstract class LivenessReadinessProbeTest public abstract class LivenessReadinessProbeTest
{ {
protected final Integer MAX_TRANSFORMS = 10;
@Test @Test
public void readinessShouldReturnAn429ErrorAfterReachingMaxTransforms() throws URISyntaxException public void readinessShouldReturnAn429ErrorAfterReachingMaxTransforms() throws URISyntaxException
{ {
@ -32,8 +34,13 @@ public abstract class LivenessReadinessProbeTest
env.start(); env.start();
var url = "http://localhost:" + env.getFirstMappedPort(); var url = "http://localhost:" + env.getFirstMappedPort();
int max_transforms = 11; /*
for (int i = 0; i<max_transforms; i++) { Asserts that /ready probe hasn't died before sending a transformation request.
Each /ready request creates a valid transformation and increases the counter of
used transformations, hence the need to divide MAX_TRANSFORMS
*/
for (int i = 0; i<MAX_TRANSFORMS/2; i++) {
assertProbeIsOk(url);
sendTransformRequest(url, testData.sourceMimetype, testData.targetMimetype, testData.filename); sendTransformRequest(url, testData.sourceMimetype, testData.targetMimetype, testData.filename);
} }
@ -52,7 +59,7 @@ public abstract class LivenessReadinessProbeTest
final GenericContainer<?> transformCore = new GenericContainer<>("alfresco/"+image+":latest"); final GenericContainer<?> transformCore = new GenericContainer<>("alfresco/"+image+":latest");
return transformCore.withEnv("livenessTransformEnabled", "true") return transformCore.withEnv("livenessTransformEnabled", "true")
.withEnv("maxTransforms", "10") .withEnv("maxTransforms", MAX_TRANSFORMS.toString())
.withNetworkAliases(image) .withNetworkAliases(image)
.withExposedPorts(8090) .withExposedPorts(8090)
.waitingFor(Wait.forListeningPort()); .waitingFor(Wait.forListeningPort());
@ -104,4 +111,12 @@ public abstract class LivenessReadinessProbeTest
.exchange() .exchange()
.expectStatus().isEqualTo(TOO_MANY_REQUESTS); .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);
}
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

View File

@ -32,6 +32,6 @@ import org.alfresco.transform.base.LivenessReadinessProbeTest;
public class ImageMagickLivenessReadinessProbeTest extends LivenessReadinessProbeTest { public class ImageMagickLivenessReadinessProbeTest extends LivenessReadinessProbeTest {
@Override @Override
protected ImagesForTests getImageForTest() { protected ImagesForTests getImageForTest() {
return new ImagesForTests("alfresco-imagemagick", "image/jpeg", "image/png", "test.jpeg"); return new ImagesForTests("alfresco-imagemagick", "image/jpeg", "image/png", "quick.jpg");
} }
} }

View File

@ -32,6 +32,6 @@ import org.alfresco.transform.base.LivenessReadinessProbeTest;
public class PdfRendererLivenessReadinessProbeTest extends LivenessReadinessProbeTest { public class PdfRendererLivenessReadinessProbeTest extends LivenessReadinessProbeTest {
@Override @Override
protected ImagesForTests getImageForTest() { protected ImagesForTests getImageForTest() {
return new ImagesForTests("alfresco-pdf-renderer", "application/pdf", "image/png", "test.pdf"); return new ImagesForTests("alfresco-pdf-renderer", "application/pdf", "image/png", "quick.pdf");
} }
} }