diff --git a/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTest.java b/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTest.java index 274b5e9e2fbe73e89ceb0b4012ffd09c00d5b86e..96748a0185dc61aa8475167fd9c57de44fea0d83 100644 --- a/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTest.java +++ b/mailbox-integration-tests/src/test/java/org/briarproject/bramble/mailbox/MailboxIntegrationTest.java @@ -7,13 +7,18 @@ import org.junit.Test; import java.util.Collection; import java.util.List; +import java.util.logging.Logger; +import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.mailbox.MailboxIntegrationTestUtils.retryUntilSuccessOrTimeout; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; public class MailboxIntegrationTest extends AbstractMailboxIntegrationTest { + private static final Logger LOG = + getLogger(MailboxIntegrationTest.class.getSimpleName()); + @Test public void testSendMessageViaMailbox() throws Exception { addContacts(); @@ -37,21 +42,30 @@ public class MailboxIntegrationTest extends AbstractMailboxIntegrationTest { getMailboxProperties(c2, contact1From2.getId()); assertNotNull(props2.getInboxId()); + // wait until file containing mailbox properties arrived on mailbox + retryUntilSuccessOrTimeout(5_000, 500, () -> { + List<MailboxFile> files = api.getFiles(props2, props2.getInboxId()); + return files.size() == 1; + }); + LOG.info("Mailbox properties uploaded"); + // send message and wait for it to arrive via mailbox broadcastMessage(c1); - // wait until file arrived on mailbox - retryUntilSuccessOrTimeout(5_000, 500, () -> { + // wait until file with broadcast message arrived on mailbox + retryUntilSuccessOrTimeout(10_000, 500, () -> { List<MailboxFile> files = api.getFiles(props2, props2.getInboxId()); - return files.size() > 1; + return files.size() == 2; }); + LOG.info("Broadcast message uploaded"); // wait for message to arrive // this might require 2nd download cycle after Tor reachability period + LOG.info("Waiting for delivery of broadcast message"); awaitPendingMessageDelivery(1); // assert that message arrived for c2 - assertNumMessages(c2, contact1From2.getId(), 1); + assertNumMessages(c2, contact1From2.getId(), 1); // all files were deleted from mailbox assertEquals(0, api.getFiles(props2, props2.getInboxId()).size());