|
27 | 27 | import com.google.cloud.pubsub.PubSub.MessageConsumer; |
28 | 28 | import com.google.cloud.pubsub.PubSub.MessageProcessor; |
29 | 29 | import com.google.common.collect.ImmutableList; |
| 30 | +import com.google.common.collect.Iterators; |
30 | 31 | import com.google.common.collect.Lists; |
31 | 32 | import com.google.common.collect.Sets; |
32 | 33 |
|
@@ -465,7 +466,18 @@ public void testPullMessagesAndAutoRenewDeadline() throws InterruptedException { |
465 | 466 | pubsub().publish(topic, message1); |
466 | 467 | pubsub().publish(topic, message2); |
467 | 468 | Iterator<ReceivedMessage> iterator = pubsub().pull(subscription, 2); |
| 469 | + while (!iterator.hasNext()) { |
| 470 | + Thread.sleep(500); |
| 471 | + iterator = pubsub().pull(subscription, 2); |
| 472 | + } |
468 | 473 | 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 | + } |
469 | 481 | Thread.sleep(15000); |
470 | 482 | // first message was consumed while second message is still being renewed |
471 | 483 | Iterator<ReceivedMessage> nextIterator = pubsub().pull(subscription, 2); |
@@ -494,6 +506,10 @@ public void testPullMessagesAndModifyAckDeadline() throws InterruptedException { |
494 | 506 | pubsub().publish(topic, message2); |
495 | 507 | // Consume all messages and stop ack renewal |
496 | 508 | 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 | + } |
497 | 513 | receivedMessages.get(0).modifyAckDeadline(60, TimeUnit.SECONDS); |
498 | 514 | Thread.sleep(15000); |
499 | 515 | // first message was renewed while second message should still be sent on pull requests |
|
0 commit comments