Skip to content

Commit f31da65

Browse files
authored
test: introduce awaitility to sdk-platform-java (#13458)
This PR - Introduces awaitility version 4.3.0 to gapic-generator-java-pom-parent and gax-java. - Migrate one test ThresholdBatcherTest to use it as an example. This is the first PR of b/505479343. Follow up PRs would migrate all tests in sdk-platform-java to use awaitility.
1 parent 84afc94 commit f31da65

6 files changed

Lines changed: 26 additions & 6 deletions

File tree

sdk-platform-java/gapic-generator-java-pom-parent/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<threetenbp.version>1.7.0</threetenbp.version>
3939
<junit.version>5.11.4</junit.version>
4040
<mockito.version>4.11.0</mockito.version>
41+
<awaitility.version>4.3.0</awaitility.version>
4142
<slf4j.version>2.0.16</slf4j.version>
4243
<!-- skipping clirr check for protobuf 4.x upgrade -->
4344
<clirr.skip>true</clirr.skip>

sdk-platform-java/gax-java/dependencies.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,5 @@ maven.io_opentelemetry_opentelemetry_sdk=io.opentelemetry:opentelemetry-sdk:1.57
9696
maven.io_opentelemetry_opentelemetry_sdk_common=io.opentelemetry:opentelemetry-sdk-common:1.57.0
9797
maven.io_opentelemetry_opentelemetry_sdk_metrics=io.opentelemetry:opentelemetry-sdk-metrics:1.57.0
9898
maven.com_google_guava_guava_testlib=com.google.guava:guava-testlib:32.1.3-jre
99+
maven.org_awaitility_awaitility=org.awaitility:awaitility:4.3.0
100+

sdk-platform-java/gax-java/gax/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ _TEST_COMPILE_DEPS = [
4949
"@io_opentelemetry_opentelemetry_sdk_metrics//jar",
5050
"@io_opentelemetry_opentelemetry_sdk_common//jar",
5151
"@com_google_guava_guava_testlib//jar",
52+
"@org_awaitility_awaitility//jar",
5253
]
5354

5455
java_library(

sdk-platform-java/gax-java/gax/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,11 @@
111111
<version>${junit.version}</version>
112112
<scope>test</scope>
113113
</dependency>
114+
<dependency>
115+
<groupId>org.awaitility</groupId>
116+
<artifactId>awaitility</artifactId>
117+
<scope>test</scope>
118+
</dependency>
114119
<dependency>
115120
<groupId>io.grpc</groupId>
116121
<artifactId>grpc-api</artifactId>

sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/ThresholdBatcherTest.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
package com.google.api.gax.batching;
3131

3232
import static com.google.common.truth.Truth.assertThat;
33+
import static org.awaitility.Awaitility.await;
3334
import static org.junit.jupiter.api.Assertions.assertEquals;
3435
import static org.junit.jupiter.api.Assertions.assertThrows;
3536
import static org.mockito.ArgumentMatchers.any;
@@ -44,6 +45,7 @@
4445
import com.google.api.gax.batching.FlowController.FlowControlException;
4546
import com.google.api.gax.batching.FlowController.LimitExceededBehavior;
4647
import com.google.common.collect.ImmutableList;
48+
import java.time.Duration;
4749
import java.util.AbstractMap.SimpleEntry;
4850
import java.util.ArrayList;
4951
import java.util.Arrays;
@@ -194,14 +196,16 @@ void testBatching() throws Exception {
194196
batcher.add(SimpleBatch.fromInteger(3));
195197
batcher.add(SimpleBatch.fromInteger(5));
196198
// Give time for the executor to push the batch
197-
Thread.sleep(100);
198-
assertThat(receiver.getBatches()).hasSize(1);
199+
await()
200+
.atMost(Duration.ofSeconds(5))
201+
.untilAsserted(() -> assertThat(receiver.getBatches()).hasSize(1));
199202

200203
batcher.add(SimpleBatch.fromInteger(7));
201204
batcher.add(SimpleBatch.fromInteger(9));
202205
// Give time for the executor to push the batch
203-
Thread.sleep(100);
204-
assertThat(receiver.getBatches()).hasSize(2);
206+
await()
207+
.atMost(Duration.ofSeconds(5))
208+
.untilAsserted(() -> assertThat(receiver.getBatches()).hasSize(2));
205209

206210
batcher.add(SimpleBatch.fromInteger(11));
207211

@@ -228,8 +232,9 @@ void testBatchingWithDelay() throws Exception {
228232
batcher.add(SimpleBatch.fromInteger(3));
229233
batcher.add(SimpleBatch.fromInteger(5));
230234
// Give time for the delay to trigger and push the batch
231-
Thread.sleep(500);
232-
assertThat(receiver.getBatches()).hasSize(1);
235+
await()
236+
.atMost(Duration.ofSeconds(5))
237+
.untilAsserted(() -> assertThat(receiver.getBatches()).hasSize(1));
233238

234239
batcher.add(SimpleBatch.fromInteger(11));
235240

sdk-platform-java/gax-java/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,12 @@
175175
<type>pom</type>
176176
<scope>import</scope>
177177
</dependency>
178+
<dependency>
179+
<groupId>org.awaitility</groupId>
180+
<artifactId>awaitility</artifactId>
181+
<version>${awaitility.version}</version>
182+
<scope>test</scope>
183+
</dependency>
178184
</dependencies>
179185
</dependencyManagement>
180186

0 commit comments

Comments
 (0)