You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2021/04/02 01:29:38 UTC
[james-project] branch master updated (de97305 -> 18d0359)
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git.
from de97305 [DOCUMENTATION] Better document THE release process (#337)
new fab5836 JAMES-3255 Decrease Cassandra fork counts to improve stability
new 5115d6c JAMES-3255 Try to solve DeletedMessageVaultIntegrationTest::vaultEndpointShouldRestoreImapDeletedMailbox instability
new 18d0359 [Refactoring] DeletedMessageVaultIntegrationTest should use Await.untilAsserted
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
mailbox/cassandra/pom.xml | 2 +-
mpt/impl/imap-mailbox/cassandra/pom.xml | 2 +-
server/data/data-cassandra/pom.xml | 2 +-
.../vault/DeletedMessageVaultIntegrationTest.java | 152 +++++++++++----------
4 files changed, 80 insertions(+), 78 deletions(-)
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org
[james-project] 03/03: [Refactoring]
DeletedMessageVaultIntegrationTest should use Await.untilAsserted
Posted by bt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 18d0359dfa79dd33c3d38ee1292cb21ec985fc9c
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Apr 1 13:45:38 2021 +0700
[Refactoring] DeletedMessageVaultIntegrationTest should use Await.untilAsserted
Using Await.until do not carry over details (line number, error
clause) in the test results, making CI results cryptic.
Await.untilAsserted does.
---
.../vault/DeletedMessageVaultIntegrationTest.java | 152 ++++++++++-----------
1 file changed, 76 insertions(+), 76 deletions(-)
diff --git a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
index 3ad9c36..b7f8995 100644
--- a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
+++ b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
@@ -96,7 +96,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
private UpdatableTickingClock clock;
@Override
- public void beforeEach(ExtensionContext extensionContext) throws Exception {
+ public void beforeEach(ExtensionContext extensionContext) {
clock = new UpdatableTickingClock(NOW.toInstant());
}
@@ -188,13 +188,13 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultEndpointShouldRestoreJmapDeletedEmail() {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
restoreAllMessagesOfHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageId = listMessageIdsForAccount(homerAccessToken).get(0);
given()
@@ -212,7 +212,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultEndpointShouldRestoreImapDeletedEmail(GuiceJamesServer jmapServer) throws Exception {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
testIMAPClient.connect(LOCALHOST_IP, jmapServer.getProbe(ImapGuiceProbe.class).getImapPort())
.login(HOMER, PASSWORD)
@@ -220,10 +220,10 @@ public abstract class DeletedMessageVaultIntegrationTest {
.setFlagsForAllMessagesInMailbox("\\Deleted");
testIMAPClient.expunge();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
restoreAllMessagesOfHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageId = listMessageIdsForAccount(homerAccessToken).get(0);
given()
@@ -241,21 +241,21 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultEndpointShouldRestoreImapDeletedMailbox(GuiceJamesServer jmapServer) throws Exception {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
testIMAPClient.connect(LOCALHOST_IP, jmapServer.getProbe(ImapGuiceProbe.class).getImapPort())
.login(HOMER, PASSWORD)
.select(TestIMAPClient.INBOX);
testIMAPClient.moveFirstMessage(MAILBOX_NAME);
- WAIT_TWO_MINUTES.until(() -> listMessageIdsInMailbox(homerAccessToken, otherMailboxId.serialize()).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsInMailbox(homerAccessToken, otherMailboxId.serialize())).hasSize(1));
testIMAPClient.delete(MAILBOX_NAME);
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
restoreAllMessagesOfHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageId = listMessageIdsForAccount(homerAccessToken).get(0);
given()
@@ -272,13 +272,13 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void restoreShouldCreateRestoreMessagesMailbox() {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
restoreAllMessagesOfHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
assertThat(homerHasMailboxWithRole(Role.RESTORED_MESSAGES)).isTrue();
}
@@ -287,11 +287,11 @@ public abstract class DeletedMessageVaultIntegrationTest {
void postShouldRestoreMatchingMessages() {
bartSendMessageToHomerWithSubject("aaaaa");
bartSendMessageToHomerWithSubject("bbbbb");
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 2);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(2));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
String query = "{" +
" \"combinator\": \"and\"," +
@@ -305,7 +305,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
"}";
restoreMessagesForUserWithQuery(webAdminApi, HOMER, query);
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageId = listMessageIdsForAccount(homerAccessToken).get(0);
given()
@@ -323,11 +323,11 @@ public abstract class DeletedMessageVaultIntegrationTest {
void postShouldNotRestoreWhenNoMatchingMessages() throws Exception {
bartSendMessageToHomerWithSubject("aaaaa");
bartSendMessageToHomerWithSubject("bbbbb");
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 2);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(2));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
String query = "{" +
" \"combinator\": \"and\"," +
@@ -352,7 +352,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void imapMovedMessageShouldNotEndUpInTheVault(GuiceJamesServer jmapServer) throws Exception {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
testIMAPClient.connect(LOCALHOST_IP, jmapServer.getProbe(ImapGuiceProbe.class).getImapPort())
.login(HOMER, PASSWORD)
@@ -362,7 +362,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
//Moved messages should not be moved to the vault
restoreAllMessagesOfHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
// No messages restored for bart
@@ -372,14 +372,14 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void jmapMovedMessageShouldNotEndUpInTheVault() {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageId = listMessageIdsForAccount(homerAccessToken).get(0);
homerMovesTheMailInAnotherMailbox(messageId);
//Moved messages should not be moved to the vault
restoreAllMessagesOfHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
// No messages restored for bart
@@ -389,16 +389,16 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void restoreShouldNotImpactOtherUsers() {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
bartDeletesMessages(listMessageIdsForAccount(bartAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(bartAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(bartAccessToken)).hasSize(0));
restoreAllMessagesOfHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
// No messages restored for bart
assertThat(listMessageIdsForAccount(bartAccessToken).size()).isEqualTo(0);
@@ -407,22 +407,22 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void restoredMessagesShouldNotBeRemovedFromTheVault() {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
restoreAllMessagesOfHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
restoreAllMessagesOfHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 2);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(2));
}
@Test
void vaultEndpointShouldNotRestoreItemsWhenTheVaultIsEmpty() {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
restoreAllMessagesOfHomer();
awaitSearchUpToDate();
@@ -435,8 +435,8 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultEndpointShouldNotRestoreMessageForSharee() {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(bartAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(bartAccessToken)).hasSize(1));
String messageId = listMessageIdsForAccount(homerAccessToken).get(0);
homerMovesTheMailInAnotherMailbox(messageId);
@@ -444,7 +444,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
homerSharesHisMailboxWithBart();
bartDeletesMessages(ImmutableList.of(messageId));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
restoreMessagesFor(BART);
awaitSearchUpToDate();
@@ -457,7 +457,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultEndpointShouldRestoreMessageForSharer() {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageId = listMessageIdsForAccount(homerAccessToken).get(0);
homerMovesTheMailInAnotherMailbox(messageId);
@@ -465,10 +465,10 @@ public abstract class DeletedMessageVaultIntegrationTest {
homerSharesHisMailboxWithBart();
bartDeletesMessages(ImmutableList.of(messageId));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
restoreAllMessagesOfHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String newMessageId = listMessageIdsForAccount(homerAccessToken).get(0);
given()
@@ -486,11 +486,11 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultExportShouldExportZipContainsVaultMessagesToShareeWhenJmapDeleteMessage() throws Exception {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageIdOfHomer = listMessageIdsForAccount(homerAccessToken).get(0);
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
String fileLocation = exportAndGetFileLocationFromLastMail(EXPORT_ALL_HOMER_MESSAGES_TO_BART, bartAccessToken);
@@ -504,7 +504,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultExportShouldExportZipContainsVaultMessagesToShareeWhenImapDeleteMessage(GuiceJamesServer jmapServer) throws Exception {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageIdOfHomer = listMessageIdsForAccount(homerAccessToken).get(0);
testIMAPClient.connect(LOCALHOST_IP, jmapServer.getProbe(ImapGuiceProbe.class).getImapPort())
@@ -513,7 +513,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
.setFlagsForAllMessagesInMailbox("\\Deleted");
testIMAPClient.expunge();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
String fileLocation = exportAndGetFileLocationFromLastMail(EXPORT_ALL_HOMER_MESSAGES_TO_BART, bartAccessToken);
@@ -527,7 +527,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
public void vaultExportShouldExportZipContainsVaultMessagesToShareeWhenImapDeletedMailbox(GuiceJamesServer jmapServer) throws Exception {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageIdOfHomer = listMessageIdsForAccount(homerAccessToken).get(0);
testIMAPClient.connect(LOCALHOST_IP, jmapServer.getProbe(ImapGuiceProbe.class).getImapPort())
@@ -538,7 +538,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
testIMAPClient.delete(MAILBOX_NAME);
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
String fileLocation = exportAndGetFileLocationFromLastMail(EXPORT_ALL_HOMER_MESSAGES_TO_BART, bartAccessToken);
@@ -551,14 +551,14 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultExportShouldExportZipContainsOnlyMatchedMessages() throws Exception {
bartSendMessageToHomerWithSubject(FIRST_SUBJECT);
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String firstMessageIdOfHomer = listMessageIdsForAccount(homerAccessToken).get(0);
bartSendMessageToHomerWithSubject(SECOND_SUBJECT);
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 2);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(2));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
ExportRequest exportRequest = ExportRequest
.userExportFrom(HOMER)
@@ -579,10 +579,10 @@ public abstract class DeletedMessageVaultIntegrationTest {
void vaultExportShouldExportEmptyZipWhenQueryDoesntMatch() throws Exception {
bartSendMessageToHomerWithSubject(FIRST_SUBJECT);
bartSendMessageToHomerWithSubject(SECOND_SUBJECT);
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 2);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(2));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
ExportRequest exportRequest = ExportRequest
.userExportFrom(HOMER)
@@ -611,10 +611,10 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultExportShouldResponseIdempotentSideEffect() throws Exception {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
String fileLocationFirstExport = exportAndGetFileLocationFromLastMail(EXPORT_ALL_HOMER_MESSAGES_TO_BART, bartAccessToken);
String fileLocationSecondExport = exportAndGetFileLocationFromLastMail(EXPORT_ALL_HOMER_MESSAGES_TO_BART, bartAccessToken);
@@ -629,10 +629,10 @@ public abstract class DeletedMessageVaultIntegrationTest {
bartSendMessageToHomer();
bartSendMessageToHomer();
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 3);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(3));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
clock.setInstant(TWO_MONTH_AFTER_ONE_YEAR_EXPIRATION.toInstant());
purgeVault(webAdminApi);
@@ -646,19 +646,19 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultPurgeShouldMakeExportProduceAZipWhenOneMessageIsNotExpired(UpdatableTickingClock clock) throws Exception {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageIdOfNotExpiredMessage = listMessageIdsForAccount(homerAccessToken).get(0);
clock.setInstant(TWO_MONTH_AFTER_ONE_YEAR_EXPIRATION.toInstant());
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
purgeVault(webAdminApi);
@@ -674,10 +674,10 @@ public abstract class DeletedMessageVaultIntegrationTest {
bartSendMessageToHomer();
bartSendMessageToHomer();
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 3);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(3));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
purgeVault(webAdminApi);
@@ -690,10 +690,10 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultPurgeShouldNotAppendMessageToTheUserMailbox(UpdatableTickingClock clock) {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
clock.setInstant(TWO_MONTH_AFTER_ONE_YEAR_EXPIRATION.toInstant());
purgeVault(webAdminApi);
@@ -705,12 +705,12 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultDeleteShouldDeleteMessageThenExportWithNoEntry() throws Exception {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageIdOfHomer = listMessageIdsForAccount(homerAccessToken).get(0);
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
deleteFromVault(webAdminApi, HOMER, messageIdOfHomer);
@@ -723,7 +723,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultDeleteShouldNotDeleteEmptyVaultThenExportNoEntry() throws Exception {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageIdOfHomer = listMessageIdsForAccount(homerAccessToken).get(0);
@@ -738,14 +738,14 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultDeleteShouldNotDeleteNotMatchedMessageInVaultThenExportAnEntry() throws Exception {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageIdOfHomer = listMessageIdsForAccount(homerAccessToken).get(0);
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(bartAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(bartAccessToken)).hasSize(1));
String messageIdOfBart = listMessageIdsForAccount(bartAccessToken).get(0);
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
deleteFromVault(webAdminApi, HOMER, messageIdOfBart);
@@ -759,12 +759,12 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultDeleteShouldNotAppendMessageToTheUserMailbox() {
bartSendMessageToHomer();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String messageIdOfHomer = listMessageIdsForAccount(homerAccessToken).get(0);
homerDeletesMessages(listMessageIdsForAccount(homerAccessToken));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
deleteFromVault(webAdminApi, HOMER, messageIdOfHomer);
@@ -775,16 +775,16 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultDeleteShouldDeleteAllMessagesHavingSameBlobContent() throws Exception {
bartSendMessageToHomerAndJack();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String homerInboxMessageId = listMessageIdsForAccount(homerAccessToken).get(0);
homerDeletesMessages(ImmutableList.of(homerInboxMessageId));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
// the message same with homer's one in inbox
String jackInboxMessageId = listMessageIdsForAccount(jackAccessToken).get(0);
jackDeletesMessages(ImmutableList.of(jackInboxMessageId));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(jackAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(jackAccessToken)).hasSize(0));
// delete from homer's vault, expecting the message contains the same blob in jack's vault will be deleted
deleteFromVault(webAdminApi, HOMER, homerInboxMessageId);
@@ -798,18 +798,18 @@ public abstract class DeletedMessageVaultIntegrationTest {
@Test
void vaultDeleteShouldNotDeleteAllMessagesHavingSameBlobContentWhenMessageNotDeletedWithinTheSameMonth(UpdatableTickingClock clock) throws Exception {
bartSendMessageToHomerAndJack();
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(1));
String homerInboxMessageId = listMessageIdsForAccount(homerAccessToken).get(0);
homerDeletesMessages(ImmutableList.of(homerInboxMessageId));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(homerAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(homerAccessToken)).hasSize(0));
// one year later, delete jack's message
clock.setInstant(NOW.plusYears(1).toInstant());
// the message same with homer's one in inbox
String jackInboxMessageId = listMessageIdsForAccount(jackAccessToken).get(0);
jackDeletesMessages(ImmutableList.of(jackInboxMessageId));
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(jackAccessToken).size() == 0);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(jackAccessToken)).hasSize(0));
// delete from homer's vault, expecting jack's vault still be intact
deleteFromVault(webAdminApi, HOMER, homerInboxMessageId);
@@ -825,7 +825,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
int currentNumberOfMessages = listMessageIdsForAccount(shareeAccessToken).size();
exportVaultContent(webAdminApi, exportRequest);
- WAIT_TWO_MINUTES.until(() -> listMessageIdsForAccount(shareeAccessToken).size() == currentNumberOfMessages + 1);
+ WAIT_TWO_MINUTES.untilAsserted(() -> assertThat(listMessageIdsForAccount(shareeAccessToken)).hasSize(currentNumberOfMessages + 1));
String exportingMessageId = getLatestMessageId(shareeAccessToken, Role.INBOX);
return exportedFileLocationFromMailHeader(exportingMessageId, shareeAccessToken);
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org
[james-project] 01/03: JAMES-3255 Decrease Cassandra fork counts to
improve stability
Posted by bt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit fab58364e2423f93e16581654b9b4831031c6dd4
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Apr 1 13:30:30 2021 +0700
JAMES-3255 Decrease Cassandra fork counts to improve stability
---
mailbox/cassandra/pom.xml | 2 +-
mpt/impl/imap-mailbox/cassandra/pom.xml | 2 +-
server/data/data-cassandra/pom.xml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/mailbox/cassandra/pom.xml b/mailbox/cassandra/pom.xml
index 6f6b504..2ea41ed 100644
--- a/mailbox/cassandra/pom.xml
+++ b/mailbox/cassandra/pom.xml
@@ -201,7 +201,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<reuseForks>true</reuseForks>
- <forkCount>4</forkCount>
+ <forkCount>2</forkCount>
</configuration>
</plugin>
</plugins>
diff --git a/mpt/impl/imap-mailbox/cassandra/pom.xml b/mpt/impl/imap-mailbox/cassandra/pom.xml
index 999f614..5b4ed3c 100644
--- a/mpt/impl/imap-mailbox/cassandra/pom.xml
+++ b/mpt/impl/imap-mailbox/cassandra/pom.xml
@@ -104,7 +104,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<reuseForks>true</reuseForks>
- <forkCount>4</forkCount>
+ <forkCount>2</forkCount>
</configuration>
</plugin>
</plugins>
diff --git a/server/data/data-cassandra/pom.xml b/server/data/data-cassandra/pom.xml
index 6ff6ba2..3c69614 100644
--- a/server/data/data-cassandra/pom.xml
+++ b/server/data/data-cassandra/pom.xml
@@ -150,7 +150,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<reuseForks>true</reuseForks>
- <forkCount>4</forkCount>
+ <forkCount>2</forkCount>
</configuration>
</plugin>
</plugins>
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org
[james-project] 02/03: JAMES-3255 Try to solve
DeletedMessageVaultIntegrationTest::vaultEndpointShouldRestoreImapDeletedMailbox
instability
Posted by bt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 5115d6c94436c0a78948af8799e946318c880f92
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Thu Apr 1 13:38:10 2021 +0700
JAMES-3255 Try to solve DeletedMessageVaultIntegrationTest::vaultEndpointShouldRestoreImapDeletedMailbox instability
Within distributed version, the listing updates happens asynchronously.
Deletion of the mailbox might prevent the search engine update, leading to follow up state assertions failing...
---
.../webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java | 2 ++
1 file changed, 2 insertions(+)
diff --git a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
index 2d20ea4..3ad9c36 100644
--- a/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
+++ b/server/protocols/webadmin-integration-test/webadmin-integration-test-common/src/main/java/org/apache/james/webadmin/integration/vault/DeletedMessageVaultIntegrationTest.java
@@ -33,6 +33,7 @@ import static org.apache.james.jmap.JmapCommonRequests.getAllMailboxesIds;
import static org.apache.james.jmap.JmapCommonRequests.getLatestMessageId;
import static org.apache.james.jmap.JmapCommonRequests.getOutboxId;
import static org.apache.james.jmap.JmapCommonRequests.listMessageIdsForAccount;
+import static org.apache.james.jmap.JmapCommonRequests.listMessageIdsInMailbox;
import static org.apache.james.jmap.LocalHostURIBuilder.baseUri;
import static org.apache.james.mailbox.backup.ZipAssert.EntryChecks.hasName;
import static org.apache.james.mailbox.backup.ZipAssert.assertThatZip;
@@ -247,6 +248,7 @@ public abstract class DeletedMessageVaultIntegrationTest {
.select(TestIMAPClient.INBOX);
testIMAPClient.moveFirstMessage(MAILBOX_NAME);
+ WAIT_TWO_MINUTES.until(() -> listMessageIdsInMailbox(homerAccessToken, otherMailboxId.serialize()).size() == 1);
testIMAPClient.delete(MAILBOX_NAME);
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org