Skip to content

Commit 45c73c8

Browse files
authored
Use awaitility to fix flaky test (#862)
Signed-off-by: fjtirado <ftirados@redhat.com>
1 parent 8e1b72a commit 45c73c8

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

impl/test/src/test/java/io/serverlessworkflow/impl/test/ForkWaitTest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@
1717

1818
import static io.serverlessworkflow.api.WorkflowReader.readWorkflowFromClasspath;
1919
import static org.assertj.core.api.Assertions.assertThat;
20+
import static org.awaitility.Awaitility.await;
2021

2122
import io.serverlessworkflow.api.types.Workflow;
2223
import io.serverlessworkflow.impl.WorkflowApplication;
2324
import io.serverlessworkflow.impl.WorkflowInstance;
2425
import io.serverlessworkflow.impl.WorkflowModel;
2526
import io.serverlessworkflow.impl.WorkflowStatus;
2627
import java.io.IOException;
28+
import java.time.Duration;
2729
import java.util.Collection;
2830
import java.util.List;
2931
import java.util.Map;
@@ -61,11 +63,12 @@ void testForkWaitWithSuspend() throws IOException, InterruptedException {
6163
Workflow workflow = readWorkflowFromClasspath("workflows-samples/fork-wait.yaml");
6264
WorkflowInstance instance = appl.workflowDefinition(workflow).instance(Map.of());
6365
CompletableFuture<WorkflowModel> future = instance.start();
64-
Thread.sleep(50);
65-
assertThat(instance.status()).isEqualTo(WorkflowStatus.WAITING);
66+
await()
67+
.pollDelay(Duration.ofMillis(5))
68+
.atMost(Duration.ofMillis(100))
69+
.until(() -> instance.status() == WorkflowStatus.WAITING);
6670
instance.suspend();
6771
assertThat(instance.status()).isEqualTo(WorkflowStatus.SUSPENDED);
68-
Thread.sleep(200);
6972
instance.resume();
7073
WorkflowModel model = future.join();
7174
assertThat(instance.status()).isEqualTo(WorkflowStatus.COMPLETED);

0 commit comments

Comments
 (0)