This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch james-3926-mailbox-current-quotas in repository https://gitbox.apache.org/repos/asf/james-project.git
commit d01b1e825bf8cad20b47cbc323d346bb7cab742d Author: Rene Cordier <[email protected]> AuthorDate: Wed Aug 30 14:35:30 2023 +0700 JAMES-3926 Using CassandraCurrentQuotaManagerV2 instead of deprecated V1 for Cassandra tests --- .../james/mailbox/cassandra/CassandraMailboxManagerProvider.java | 5 +++-- .../apache/james/mailbox/cassandra/CassandraTestSystemFixture.java | 5 +++-- .../james/mailbox/cassandra/mail/MailboxAggregateModule.java | 3 +-- .../mail/task/CassandraRecomputeCurrentQuotasServiceTest.java | 7 +++++-- .../james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java | 5 +++-- .../jmap/cassandra/upload/CassandraUploadUsageRepositoryTest.java | 1 - 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java index 105938088c..a0122c7a87 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraMailboxManagerProvider.java @@ -23,6 +23,7 @@ import java.time.Clock; import java.time.Instant; import org.apache.james.backends.cassandra.CassandraCluster; +import org.apache.james.backends.cassandra.components.CassandraQuotaCurrentValueDao; import org.apache.james.backends.cassandra.init.configuration.CassandraConfiguration; import org.apache.james.events.EventBusTestFixture; import org.apache.james.events.InVMEventBus; @@ -34,7 +35,7 @@ import org.apache.james.mailbox.Authorizator; import org.apache.james.mailbox.acl.MailboxACLResolver; import org.apache.james.mailbox.acl.UnionMailboxACLResolver; import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; -import org.apache.james.mailbox.cassandra.quota.CassandraCurrentQuotaManagerV1; +import org.apache.james.mailbox.cassandra.quota.CassandraCurrentQuotaManagerV2; import org.apache.james.mailbox.cassandra.quota.CassandraGlobalMaxQuotaDao; import org.apache.james.mailbox.cassandra.quota.CassandraPerDomainMaxQuotaDao; import org.apache.james.mailbox.cassandra.quota.CassandraPerUserMaxQuotaDao; @@ -117,7 +118,7 @@ public class CassandraMailboxManagerProvider { CassandraPerUserMaxQuotaManager maxQuotaManager = new CassandraPerUserMaxQuotaManager(new CassandraPerUserMaxQuotaDao(session), new CassandraPerDomainMaxQuotaDao(session), new CassandraGlobalMaxQuotaDao(session)); - CassandraCurrentQuotaManagerV1 currentQuotaUpdater = new CassandraCurrentQuotaManagerV1(session); + CassandraCurrentQuotaManagerV2 currentQuotaUpdater = new CassandraCurrentQuotaManagerV2(new CassandraQuotaCurrentValueDao(session)); StoreQuotaManager storeQuotaManager = new StoreQuotaManager(currentQuotaUpdater, maxQuotaManager); QuotaRootResolver quotaRootResolver = new DefaultUserQuotaRootResolver(sessionProvider, mapperFactory); ListeningCurrentQuotaUpdater quotaUpdater = new ListeningCurrentQuotaUpdater(currentQuotaUpdater, quotaRootResolver, eventBus, storeQuotaManager); diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java index f3839faed7..71e516986e 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/CassandraTestSystemFixture.java @@ -24,6 +24,7 @@ import static org.mockito.Mockito.mock; import java.time.Instant; import org.apache.james.backends.cassandra.CassandraCluster; +import org.apache.james.backends.cassandra.components.CassandraQuotaCurrentValueDao; import org.apache.james.events.EventBus; import org.apache.james.events.EventBusTestFixture; import org.apache.james.events.InVMEventBus; @@ -34,7 +35,7 @@ import org.apache.james.mailbox.Authenticator; import org.apache.james.mailbox.Authorizator; import org.apache.james.mailbox.acl.UnionMailboxACLResolver; import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; -import org.apache.james.mailbox.cassandra.quota.CassandraCurrentQuotaManagerV1; +import org.apache.james.mailbox.cassandra.quota.CassandraCurrentQuotaManagerV2; import org.apache.james.mailbox.cassandra.quota.CassandraGlobalMaxQuotaDao; import org.apache.james.mailbox.cassandra.quota.CassandraPerDomainMaxQuotaDao; import org.apache.james.mailbox.cassandra.quota.CassandraPerUserMaxQuotaDao; @@ -109,7 +110,7 @@ public class CassandraTestSystemFixture { } public static CurrentQuotaManager createCurrentQuotaManager(CassandraCluster cassandra) { - return new CassandraCurrentQuotaManagerV1(cassandra.getConf()); + return new CassandraCurrentQuotaManagerV2(new CassandraQuotaCurrentValueDao(cassandra.getConf())); } } diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java index e4183c7972..dd8c2b7c9d 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/MailboxAggregateModule.java @@ -32,7 +32,6 @@ import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule; import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule; import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule; import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule; -import org.apache.james.mailbox.cassandra.modules.CassandraMailboxQuotaModule; import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule; import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule; import org.apache.james.mailbox.cassandra.modules.CassandraModSeqModule; @@ -61,5 +60,5 @@ public interface MailboxAggregateModule { CassandraUidModule.MODULE, CassandraThreadModule.MODULE); - CassandraModule MODULE_WITH_QUOTA = CassandraModule.aggregateModules(CassandraQuotaModule.MODULE, CassandraMailboxQuotaModule.MODULE, CassandraMutualizedQuotaModule.MODULE, MODULE); + CassandraModule MODULE_WITH_QUOTA = CassandraModule.aggregateModules(CassandraQuotaModule.MODULE, CassandraMutualizedQuotaModule.MODULE, MODULE); } diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/task/CassandraRecomputeCurrentQuotasServiceTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/task/CassandraRecomputeCurrentQuotasServiceTest.java index 9b5d3b628a..d248dc6ac5 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/task/CassandraRecomputeCurrentQuotasServiceTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/task/CassandraRecomputeCurrentQuotasServiceTest.java @@ -49,6 +49,7 @@ import org.apache.james.user.cassandra.CassandraUsersDAO; import org.apache.james.user.cassandra.CassandraUsersRepositoryModule; import org.apache.james.user.lib.UsersRepositoryImpl; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; @@ -119,6 +120,7 @@ public class CassandraRecomputeCurrentQuotasServiceTest implements RecomputeCurr return testee; } + @Disabled("JAMES-3926: new CassandraQuotaCurrentValueDao does not crash at failure on increase and decrease operations, thus we can't simulate the recompute task to fail by failing those cassandra queries") @Test void recomputeCurrentQuotasShouldReturnPartialWhenFailureAtReset() throws Exception { usersRepository().addUser(USER_1, PASSWORD); @@ -131,12 +133,13 @@ public class CassandraRecomputeCurrentQuotasServiceTest implements RecomputeCurr cassandraCluster.getCassandraCluster().getConf().registerScenario(fail() .times(1) - .whenQueryStartsWith("UPDATE currentquota SET")); + .whenQueryStartsWith("UPDATE quotacurrentvalue SET")); assertThat(testee().recomputeCurrentQuotas(new RecomputeCurrentQuotasService.Context(), RunningOptions.DEFAULT).block()) .isEqualTo(Task.Result.PARTIAL); } + @Disabled("JAMES-3926: new CassandraQuotaCurrentValueDao does not crash at failure on increase and decrease operations, thus we can't simulate the recompute task to fail by failing those cassandra queries") @Test void recomputeCurrentQuotasShouldUpdateContextWhenFailureAtReset() throws Exception { usersRepository().addUser(USER_1, PASSWORD); @@ -149,7 +152,7 @@ public class CassandraRecomputeCurrentQuotasServiceTest implements RecomputeCurr cassandraCluster.getCassandraCluster().getConf().registerScenario(fail() .times(1) - .whenQueryStartsWith("UPDATE currentquota SET")); + .whenQueryStartsWith("UPDATE quotacurrentvalue SET")); RecomputeCurrentQuotasService.Context context = new RecomputeCurrentQuotasService.Context(); testee().recomputeCurrentQuotas(context, RunningOptions.DEFAULT).block(); diff --git a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java index 0c863bee60..2c64cc1afa 100644 --- a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java +++ b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java @@ -21,6 +21,7 @@ package org.apache.james.mpt.imapmailbox.cassandra.host; import java.time.Instant; import org.apache.james.backends.cassandra.CassandraCluster; +import org.apache.james.backends.cassandra.components.CassandraQuotaCurrentValueDao; import org.apache.james.core.quota.QuotaCountLimit; import org.apache.james.core.quota.QuotaSizeLimit; import org.apache.james.events.EventBusTestFixture; @@ -37,7 +38,7 @@ import org.apache.james.mailbox.cassandra.CassandraMailboxManager; import org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory; import org.apache.james.mailbox.cassandra.TestCassandraMailboxSessionMapperFactory; import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; -import org.apache.james.mailbox.cassandra.quota.CassandraCurrentQuotaManagerV1; +import org.apache.james.mailbox.cassandra.quota.CassandraCurrentQuotaManagerV2; import org.apache.james.mailbox.cassandra.quota.CassandraGlobalMaxQuotaDao; import org.apache.james.mailbox.cassandra.quota.CassandraPerDomainMaxQuotaDao; import org.apache.james.mailbox.cassandra.quota.CassandraPerUserMaxQuotaDao; @@ -114,7 +115,7 @@ public class CassandraHostSystem extends JamesImapHostSystem { new CassandraPerUserMaxQuotaDao(session), new CassandraPerDomainMaxQuotaDao(cassandra.getConf()), new CassandraGlobalMaxQuotaDao(session)); - CassandraCurrentQuotaManagerV1 currentQuotaManager = new CassandraCurrentQuotaManagerV1(session); + CassandraCurrentQuotaManagerV2 currentQuotaManager = new CassandraCurrentQuotaManagerV2(new CassandraQuotaCurrentValueDao(session)); StoreQuotaManager quotaManager = new StoreQuotaManager(currentQuotaManager, perUserMaxQuotaManager); ListeningCurrentQuotaUpdater quotaUpdater = new ListeningCurrentQuotaUpdater(currentQuotaManager, quotaRootResolver, eventBus, quotaManager); QuotaComponents quotaComponents = new QuotaComponents(perUserMaxQuotaManager, quotaManager, quotaRootResolver); diff --git a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/upload/CassandraUploadUsageRepositoryTest.java b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/upload/CassandraUploadUsageRepositoryTest.java index 1f9c4ba118..c029f3e128 100644 --- a/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/upload/CassandraUploadUsageRepositoryTest.java +++ b/server/data/data-jmap-cassandra/src/test/java/org/apache/james/jmap/cassandra/upload/CassandraUploadUsageRepositoryTest.java @@ -25,7 +25,6 @@ import org.apache.james.backends.cassandra.components.CassandraMutualizedQuotaMo import org.apache.james.backends.cassandra.components.CassandraQuotaCurrentValueDao; import org.apache.james.jmap.api.upload.UploadUsageRepository; import org.apache.james.jmap.api.upload.UploadUsageRepositoryContract; -import org.apache.james.mailbox.cassandra.modules.CassandraMailboxQuotaModule; import org.apache.james.mailbox.cassandra.modules.CassandraQuotaModule; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.extension.RegisterExtension; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
