You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2020/04/22 07:24:42 UTC

[james-project] 10/10: JAMES-3138 InMemoryCurrentQuotaManagerTest should implement CurrentQuotaManagerContract

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 79cb3d1783c92a79451e51426019762caf2cecf1
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Tue Apr 21 18:08:58 2020 +0700

    JAMES-3138 InMemoryCurrentQuotaManagerTest should implement CurrentQuotaManagerContract
---
 ...ava => InMemoryCurrentQuotaCalculatorTest.java} |  5 +-
 .../quota/InMemoryCurrentQuotaManagerTest.java     | 78 +++-------------------
 .../store/quota/CurrentQuotaManagerContract.java   |  2 +-
 3 files changed, 13 insertions(+), 72 deletions(-)

diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaCalculatorTest.java
similarity index 96%
copy from mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
copy to mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaCalculatorTest.java
index 99d1191..e4f5b79 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaCalculatorTest.java
@@ -35,8 +35,7 @@ import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
-class InMemoryCurrentQuotaManagerTest {
-
+class InMemoryCurrentQuotaCalculatorTest {
     static final QuotaRoot QUOTA_ROOT = QuotaRoot.quotaRoot("benwa", Optional.empty());
     static final CurrentQuotas CURRENT_QUOTAS = new CurrentQuotas(
         QuotaCountUsage.count(18),
@@ -80,7 +79,7 @@ class InMemoryCurrentQuotaManagerTest {
     }
 
     @Test
-    void getCurrentQuotasShouldReturnRecalculateSizeWhenEntryIsNotInitialized() throws Exception {
+    void getCurrentQuotasShouldReturnRecalculateQuotasWhenEntryIsNotInitialized() throws Exception {
         when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
             .thenReturn(CURRENT_QUOTAS);
 
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
index 99d1191..dcaa37d 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
@@ -19,82 +19,24 @@
 
 package org.apache.james.mailbox.inmemory.quota;
 
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import java.util.Optional;
-
-import org.apache.james.core.quota.QuotaCountUsage;
-import org.apache.james.core.quota.QuotaSizeUsage;
-import org.apache.james.mailbox.SessionProvider;
-import org.apache.james.mailbox.model.CurrentQuotas;
-import org.apache.james.mailbox.model.QuotaOperation;
-import org.apache.james.mailbox.model.QuotaRoot;
-import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator;
+import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
+import org.apache.james.mailbox.quota.CurrentQuotaManager;
+import org.apache.james.mailbox.store.quota.CurrentQuotaManagerContract;
 import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-class InMemoryCurrentQuotaManagerTest {
 
-    static final QuotaRoot QUOTA_ROOT = QuotaRoot.quotaRoot("benwa", Optional.empty());
-    static final CurrentQuotas CURRENT_QUOTAS = new CurrentQuotas(
-        QuotaCountUsage.count(18),
-        QuotaSizeUsage.size(512));
+class InMemoryCurrentQuotaManagerTest implements CurrentQuotaManagerContract {
 
-    InMemoryCurrentQuotaManager testee;
-    CurrentQuotaCalculator mockedCurrentQuotaCalculator;
+    CurrentQuotaManager testee;
 
     @BeforeEach
     void setUp() {
-        mockedCurrentQuotaCalculator = mock(CurrentQuotaCalculator.class);
-        testee = new InMemoryCurrentQuotaManager(mockedCurrentQuotaCalculator, mock(SessionProvider.class));
-    }
-
-    @Test
-    void getCurrentMessageCountShouldReturnRecalculateMessageCountWhenEntryIsNotInitialized() throws Exception {
-        when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
-            .thenReturn(CURRENT_QUOTAS);
+        InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources();
 
-        assertThat(testee.getCurrentMessageCount(QUOTA_ROOT).block()).isEqualTo(QuotaCountUsage.count(18));
+        testee = resources.getCurrentQuotaManager();
     }
 
-    @Test
-    void getCurrentStorageShouldReturnRecalculateSizeWhenEntryIsNotInitialized() throws Exception {
-        when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
-            .thenReturn(CURRENT_QUOTAS);
-
-        assertThat(testee.getCurrentStorage(QUOTA_ROOT).block()).isEqualTo(QuotaSizeUsage.size(512));
-    }
-
-    @Test
-    void getCurrentStorageShouldReRetrieveStoredQuotasWhenCalculateOnUnknownQuotaIsTrue() throws Exception {
-        when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
-            .thenReturn(CURRENT_QUOTAS);
-
-        QuotaOperation quotaOperation = new QuotaOperation(QUOTA_ROOT, QuotaCountUsage.count(10), QuotaSizeUsage.size(100));
-        testee.increase(quotaOperation).block();
-
-        assertThat(testee.getCurrentMessageCount(QUOTA_ROOT).block()).isEqualTo(QuotaCountUsage.count(28));
-        assertThat(testee.getCurrentStorage(QUOTA_ROOT).block()).isEqualTo(QuotaSizeUsage.size(612));
-    }
-
-    @Test
-    void getCurrentQuotasShouldReturnRecalculateSizeWhenEntryIsNotInitialized() throws Exception {
-        when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
-            .thenReturn(CURRENT_QUOTAS);
-
-        assertThat(testee.getCurrentQuotas(QUOTA_ROOT).block()).isEqualTo(CURRENT_QUOTAS);
-    }
-
-    @Test
-    void getCurrentQuotasShouldReRetrieveStoredQuotasWhenCalculateOnUnknownQuotaIsTrue() throws Exception {
-        when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
-            .thenReturn(CURRENT_QUOTAS);
-
-        QuotaOperation quotaOperation = new QuotaOperation(QUOTA_ROOT, QuotaCountUsage.count(10), QuotaSizeUsage.size(100));
-        testee.increase(quotaOperation).block();
-
-        assertThat(testee.getCurrentQuotas(QUOTA_ROOT).block()).isEqualTo(new CurrentQuotas(QuotaCountUsage.count(28), QuotaSizeUsage.size(612)));
+    @Override
+    public CurrentQuotaManager testee() {
+        return testee;
     }
 }
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/CurrentQuotaManagerContract.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/CurrentQuotaManagerContract.java
index e79173c..7ed9004 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/CurrentQuotaManagerContract.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/CurrentQuotaManagerContract.java
@@ -37,7 +37,7 @@ import com.github.fge.lambdas.Throwing;
 import reactor.core.publisher.Mono;
 
 public interface CurrentQuotaManagerContract {
-    QuotaRoot QUOTA_ROOT = QuotaRoot.quotaRoot("benwa", Optional.empty());
+    QuotaRoot QUOTA_ROOT = QuotaRoot.quotaRoot("#private&benwa", Optional.empty());
     CurrentQuotas CURRENT_QUOTAS = new CurrentQuotas(QuotaCountUsage.count(10), QuotaSizeUsage.size(100));
     QuotaOperation RESET_QUOTA_OPERATION = new QuotaOperation(QUOTA_ROOT, QuotaCountUsage.count(10), QuotaSizeUsage.size(100));
     


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org