Skip to content

Commit 25e2c9b

Browse files
committed
Make PubSub integration tests more robust
1 parent 5cef13d commit 25e2c9b

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/BaseSystemTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.google.cloud.pubsub.PubSub.MessageConsumer;
2828
import com.google.cloud.pubsub.PubSub.MessageProcessor;
2929
import com.google.common.collect.ImmutableList;
30+
import com.google.common.collect.Iterators;
3031
import com.google.common.collect.Lists;
3132
import com.google.common.collect.Sets;
3233

@@ -465,7 +466,18 @@ public void testPullMessagesAndAutoRenewDeadline() throws InterruptedException {
465466
pubsub().publish(topic, message1);
466467
pubsub().publish(topic, message2);
467468
Iterator<ReceivedMessage> iterator = pubsub().pull(subscription, 2);
469+
while (!iterator.hasNext()) {
470+
Thread.sleep(500);
471+
iterator = pubsub().pull(subscription, 2);
472+
}
468473
ReceivedMessage consumedMessage = iterator.next();
474+
if (!iterator.hasNext()) {
475+
iterator = pubsub().pull(subscription, 1);
476+
while (!iterator.hasNext()) {
477+
Thread.sleep(500);
478+
iterator = pubsub().pull(subscription, 1);
479+
}
480+
}
469481
Thread.sleep(15000);
470482
// first message was consumed while second message is still being renewed
471483
Iterator<ReceivedMessage> nextIterator = pubsub().pull(subscription, 2);
@@ -494,6 +506,10 @@ public void testPullMessagesAndModifyAckDeadline() throws InterruptedException {
494506
pubsub().publish(topic, message2);
495507
// Consume all messages and stop ack renewal
496508
List<ReceivedMessage> receivedMessages = Lists.newArrayList(pubsub().pull(subscription, 2));
509+
while (receivedMessages.size() < 2) {
510+
Thread.sleep(500);
511+
Iterators.addAll(receivedMessages, pubsub().pull(subscription, 2));
512+
}
497513
receivedMessages.get(0).modifyAckDeadline(60, TimeUnit.SECONDS);
498514
Thread.sleep(15000);
499515
// first message was renewed while second message should still be sent on pull requests

0 commit comments

Comments
 (0)