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()));
}
}