From 9ed68bbc149e9dc403c77c83d5c56cddfdc0969a Mon Sep 17 00:00:00 2001 From: SvitlanaKovalova1 Date: Tue, 22 Oct 2024 22:57:33 +0300 Subject: [PATCH] test(pub-period-migration) fix "canSearchUsingMetadataDateUpdatedIndex" test --- .../folio/rest/api/InstanceStorageTest.java | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/folio/rest/api/InstanceStorageTest.java b/src/test/java/org/folio/rest/api/InstanceStorageTest.java index 112b70c27..865af37a0 100644 --- a/src/test/java/org/folio/rest/api/InstanceStorageTest.java +++ b/src/test/java/org/folio/rest/api/InstanceStorageTest.java @@ -823,7 +823,7 @@ public void canSearchUsingMetadataDateUpdatedIndex() JsonObject secondInstanceToCreate = nod(secondInstanceId); - IndividualResource ir = createInstance(secondInstanceToCreate); + IndividualResource ir = createInstanceWithDelay(secondInstanceToCreate); CompletableFuture getCompleted = new CompletableFuture<>(); @@ -3041,6 +3041,34 @@ private IndividualResource createInstance(JsonObject instanceToCreate) return new IndividualResource(response); } + private IndividualResource createInstanceWithDelay(JsonObject instanceToCreate) + throws InterruptedException, ExecutionException, TimeoutException { + // delay before creating the instance + CompletableFuture delayFuture = CompletableFuture.runAsync(() -> { + try { + TimeUnit.SECONDS.sleep(1); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + }); + // create the instance + CompletableFuture createCompleted = delayFuture.thenCompose(v -> { + CompletableFuture responseFuture = new CompletableFuture<>(); + + getClient().post(instancesStorageUrl(""), instanceToCreate, + TENANT_ID, json(responseFuture)); + + return responseFuture; + }); + // get the response + Response response = createCompleted.get(2, TimeUnit.SECONDS); + + assertThat(format("Create instance failed: %s", response.getBody()), + response.getStatusCode(), is(201)); + + return new IndividualResource(response); + } + private Response update(JsonObject instance) { final UUID id = UUID.fromString(instance.getString("id")); CompletableFuture replaceCompleted = new CompletableFuture<>();