This is an automated email from the ASF dual-hosted git repository.

apkhmv pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 5659499db8 IGNITE-18956 Use awaitility in flaky test (#1778)
5659499db8 is described below

commit 5659499db8ac7651d25c37e230b4012acde186e3
Author: Aleksandr Pakhomov <[email protected]>
AuthorDate: Tue Mar 14 14:06:11 2023 +0400

    IGNITE-18956 Use awaitility in flaky test (#1778)
---
 modules/cli/build.gradle                           |  1 +
 .../internal/cli/sql/SqlSchemaProviderTest.java    | 28 +++++++---------------
 2 files changed, 9 insertions(+), 20 deletions(-)

diff --git a/modules/cli/build.gradle b/modules/cli/build.gradle
index 04fd0784f1..7674fa2cf4 100644
--- a/modules/cli/build.gradle
+++ b/modules/cli/build.gradle
@@ -79,6 +79,7 @@ dependencies {
     testImplementation libs.assertj.core
     testImplementation libs.mock.server.netty
     testImplementation libs.mock.server.junit
+    testImplementation libs.awaitility
 
     testFixturesAnnotationProcessor libs.picocli.annotation.processor
     testFixturesAnnotationProcessor libs.micronaut.inject.annotation.processor
diff --git 
a/modules/cli/src/test/java/org/apache/ignite/internal/cli/sql/SqlSchemaProviderTest.java
 
b/modules/cli/src/test/java/org/apache/ignite/internal/cli/sql/SqlSchemaProviderTest.java
index d8c632a3e1..f4fe3113c9 100644
--- 
a/modules/cli/src/test/java/org/apache/ignite/internal/cli/sql/SqlSchemaProviderTest.java
+++ 
b/modules/cli/src/test/java/org/apache/ignite/internal/cli/sql/SqlSchemaProviderTest.java
@@ -17,6 +17,7 @@
 
 package org.apache.ignite.internal.cli.sql;
 
+import static org.awaitility.Awaitility.await;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -24,13 +25,10 @@ import static org.mockito.Mockito.when;
 import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.util.concurrent.TimeUnit;
-import org.junit.jupiter.api.Assertions;
+import java.time.Duration;
 import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
-@Disabled("https://issues.apache.org/jira/browse/IGNITE-18956";)
 class SqlSchemaProviderTest {
     private static MetadataSupplier supplier;
 
@@ -41,31 +39,21 @@ class SqlSchemaProviderTest {
         when(meta.getTables(null, null, null, 
null)).thenReturn(mock(ResultSet.class));
         when(meta.getTables(any(), any(), any(), 
any())).thenReturn(mock(ResultSet.class));
 
-
         supplier = () -> meta;
     }
 
     @Test
-    public void testProviderWithoutTimeout() throws InterruptedException {
+    public void testProviderWithoutTimeout() {
         SqlSchemaProvider provider = new SqlSchemaProvider(supplier, 0);
 
         SqlSchema firstSchema = provider.getSchema();
         provider.getSchema(); // trigger update
-        Thread.sleep(TimeUnit.SECONDS.toMillis(1));
-
-        Assertions.assertNotEquals(firstSchema, provider.getSchema());
-    }
-
-    @Test
-    public void testProviderWith1secTimeout() throws InterruptedException {
-        SqlSchemaProvider provider = new SqlSchemaProvider(supplier, 1);
-
-        provider.initStateAsync();
-        Thread.sleep(TimeUnit.SECONDS.toMillis(1));
 
-        SqlSchema schema = provider.getSchema();
-        Thread.sleep(TimeUnit.SECONDS.toMillis(2));
+        await().atMost(Duration.ofSeconds(10))
+                .until(() -> !firstSchema.equals(provider.getSchema()));
 
-        Assertions.assertNotEquals(schema, provider.getSchema());
+        SqlSchema secondSchema = provider.getSchema();
+        await().atMost(Duration.ofSeconds(10))
+                .until(() -> !secondSchema.equals(provider.getSchema()));
     }
 }

Reply via email to