JAMES-2344 Quota now uses a builder

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/fa0612a7
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/fa0612a7
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/fa0612a7

Branch: refs/heads/master
Commit: fa0612a7c10adb620b3c03f6cc10c9db7f7499a8
Parents: ece93d0
Author: Matthieu Baechler <matth...@apache.org>
Authored: Thu Mar 8 10:29:35 2018 +0100
Committer: Matthieu Baechler <matth...@apache.org>
Committed: Tue Mar 13 16:10:28 2018 +0100

----------------------------------------------------------------------
 .../org/apache/james/mailbox/model/Quota.java   | 35 ++++++++++++--
 .../apache/james/mailbox/model/QuotaTest.java   | 50 +++++++++++++++-----
 .../mailbox/store/quota/NoQuotaManager.java     | 15 +++---
 .../mailbox/store/quota/StoreQuotaManager.java  | 14 +++---
 .../AbstractMessageIdManagerSideEffectTest.java | 17 +++++--
 .../mailbox/store/quota/QuotaCheckerTest.java   | 30 ++++++++----
 .../store/quota/StoreQuotaManagerTest.java      | 14 +++---
 .../imap/encode/QuotaResponseEncoderTest.java   |  6 ++-
 .../imap/processor/GetQuotaProcessorTest.java   |  6 ++-
 .../processor/GetQuotaRootProcessorTest.java    |  6 ++-
 10 files changed, 135 insertions(+), 58 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/fa0612a7/mailbox/api/src/main/java/org/apache/james/mailbox/model/Quota.java
----------------------------------------------------------------------
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/model/Quota.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/Quota.java
index b4579f6..53c1dd7 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/Quota.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/Quota.java
@@ -25,17 +25,42 @@ import com.google.common.base.Preconditions;
 
 public class Quota<T extends QuotaValue<T>> {
 
-    public static <T extends QuotaValue<T>> Quota<T> quota(T used, T limit) {
-        Preconditions.checkNotNull(used);
-        return new Quota<>(used, limit);
+    public static <T extends QuotaValue<T>> Builder<T> builder() {
+        return new Builder<>();
+    }
+
+    public static class Builder<T extends QuotaValue<T>> {
+
+        private T computedLimit;
+        private T used;
+
+        private Builder() {
+        }
+
+        public Builder<T> computedLimit(T limit) {
+            this.computedLimit = limit;
+            return this;
+        }
+
+        public Builder<T> used(T used) {
+            this.used = used;
+            return this;
+        }
+
+        public Quota<T> build() {
+            Preconditions.checkState(used != null);
+            Preconditions.checkState(computedLimit != null);
+            return new Quota<>(used, computedLimit);
+        }
+
     }
 
     private final T limit;
     private final T used;
 
-    private Quota(T used, T limit) {
+    private Quota(T used, T max) {
         this.used = used;
-        this.limit = limit;
+        this.limit = max;
     }
 
     public T getLimit() {

http://git-wip-us.apache.org/repos/asf/james-project/blob/fa0612a7/mailbox/api/src/test/java/org/apache/james/mailbox/model/QuotaTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/model/QuotaTest.java 
b/mailbox/api/src/test/java/org/apache/james/mailbox/model/QuotaTest.java
index 79ce320..ef5a1d6 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/model/QuotaTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/model/QuotaTest.java
@@ -20,53 +20,77 @@
 package org.apache.james.mailbox.model;
 
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.apache.james.mailbox.model.Quota;
 import org.apache.james.mailbox.quota.QuotaCount;
-import org.junit.Rule;
 import org.junit.Test;
-import org.junit.rules.ExpectedException;
 
 public class QuotaTest {
 
-    @Rule
-    public ExpectedException expectedException = ExpectedException.none();
 
     @Test
     public void isOverQuotaShouldReturnFalseWhenQuotaIsNotExceeded() {
-        assertThat(Quota.quota(QuotaCount.count(36), 
QuotaCount.count(360)).isOverQuota()).isFalse();
+        Quota<QuotaCount> quota = 
Quota.<QuotaCount>builder().used(QuotaCount.count(36)).computedLimit(QuotaCount.count(360)).build();
+        assertThat(quota.isOverQuota()).isFalse();
     }
 
     @Test
     public void isOverQuotaShouldReturnFalseWhenMaxValueIsUnlimited() {
-        assertThat(Quota.quota(QuotaCount.count(36), 
QuotaCount.unlimited()).isOverQuota()).isFalse();
+        Quota<QuotaCount> quota = 
Quota.<QuotaCount>builder().used(QuotaCount.count(36)).computedLimit(QuotaCount.unlimited()).build();
+        assertThat(quota.isOverQuota()).isFalse();
     }
 
     @Test
     public void isOverQuotaShouldReturnTrueWhenQuotaIsExceeded() {
-        assertThat(Quota.quota(QuotaCount.count(360), 
QuotaCount.count(36)).isOverQuota()).isTrue();
+        Quota<QuotaCount> quota = 
Quota.<QuotaCount>builder().used(QuotaCount.count(360)).computedLimit(QuotaCount.count(36)).build();
+        assertThat(quota.isOverQuota()).isTrue();
     }
 
     @Test
     public void isOverQuotaWithAdditionalValueShouldReturnTrueWhenOverLimit() {
-        assertThat(Quota.quota(QuotaCount.count(36), 
QuotaCount.count(36)).isOverQuotaWithAdditionalValue(1)).isTrue();
+        Quota<QuotaCount> quota = 
Quota.<QuotaCount>builder().used(QuotaCount.count(36)).computedLimit(QuotaCount.count(36)).build();
+        assertThat(quota.isOverQuotaWithAdditionalValue(1)).isTrue();
     }
 
     @Test
     public void isOverQuotaWithAdditionalValueShouldReturnTrueWhenUnderLimit() 
{
-        assertThat(Quota.quota(QuotaCount.count(34), 
QuotaCount.count(36)).isOverQuotaWithAdditionalValue(1)).isFalse();
+        Quota<QuotaCount> quota = 
Quota.<QuotaCount>builder().used(QuotaCount.count(34)).computedLimit(QuotaCount.count(36)).build();
+        assertThat(quota.isOverQuotaWithAdditionalValue(1)).isFalse();
     }
 
     @Test
     public void isOverQuotaWithAdditionalValueShouldReturnFalseWhenAtLimit() {
-        assertThat(Quota.quota(QuotaCount.count(36), 
QuotaCount.count(36)).isOverQuotaWithAdditionalValue(0)).isFalse();
+        Quota<QuotaCount> quota = 
Quota.<QuotaCount>builder().used(QuotaCount.count(36)).computedLimit(QuotaCount.count(36)).build();
+        assertThat(quota.isOverQuotaWithAdditionalValue(0)).isFalse();
     }
 
     @Test
     public void isOverQuotaWithAdditionalValueShouldThrowOnNegativeValue() {
-        expectedException.expect(IllegalArgumentException.class);
+        Quota<QuotaCount> quota = 
Quota.<QuotaCount>builder().used(QuotaCount.count(25)).computedLimit(QuotaCount.count(36)).build();
+        assertThatThrownBy(() -> 
quota.isOverQuotaWithAdditionalValue(-1)).isInstanceOf(IllegalArgumentException.class);
+    }
+
+    @Test
+    public void buildShouldThrowOnMissingUsedValue() {
+        assertThatThrownBy(
+            () -> 
Quota.<QuotaCount>builder().computedLimit(QuotaCount.count(1)).build())
+            .isInstanceOf(IllegalStateException.class);
+    }
 
-        Quota.quota(QuotaCount.count(25), 
QuotaCount.count(36)).isOverQuotaWithAdditionalValue(-1);
+    @Test
+    public void buildShouldThrowOnMissingComputedLimitValue() {
+        assertThatThrownBy(
+            () -> 
Quota.<QuotaCount>builder().used(QuotaCount.count(1)).build())
+            .isInstanceOf(IllegalStateException.class);
+    }
+
+    @Test
+    public void buildShouldCreateValidObjectGivenMandatoryFields() {
+        Quota<QuotaCount> actual = Quota.<QuotaCount>builder()
+            .used(QuotaCount.count(1))
+            .computedLimit(QuotaCount.count(2))
+            .build();
+        assertThat(actual).isNotNull();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/fa0612a7/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaManager.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaManager.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaManager.java
index 0c3b583..878effa 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaManager.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaManager.java
@@ -24,7 +24,6 @@ import javax.inject.Inject;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.Quota;
 import org.apache.james.mailbox.model.QuotaRoot;
-import org.apache.james.mailbox.quota.CurrentQuotaManager;
 import org.apache.james.mailbox.quota.QuotaCount;
 import org.apache.james.mailbox.quota.QuotaManager;
 import org.apache.james.mailbox.quota.QuotaSize;
@@ -40,15 +39,17 @@ public class NoQuotaManager implements QuotaManager {
 
     @Override
     public Quota<QuotaCount> getMessageQuota(QuotaRoot quotaRoot) throws 
MailboxException {
-        return Quota.quota(
-            QuotaCount.count(0),
-            QuotaCount.unlimited());
+        return Quota.<QuotaCount>builder()
+            .used(QuotaCount.count(0))
+            .computedLimit(QuotaCount.unlimited())
+            .build();
     }
 
     @Override
     public Quota<QuotaSize> getStorageQuota(QuotaRoot quotaRoot) throws 
MailboxException {
-        return Quota.quota(
-            QuotaSize.size(0),
-            QuotaSize.unlimited());
+        return Quota.<QuotaSize>builder()
+            .used(QuotaSize.size(0))
+            .computedLimit(QuotaSize.unlimited())
+            .build();
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/fa0612a7/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/StoreQuotaManager.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/StoreQuotaManager.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/StoreQuotaManager.java
index 671d368..a5100c6 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/StoreQuotaManager.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/StoreQuotaManager.java
@@ -46,16 +46,18 @@ public class StoreQuotaManager implements QuotaManager {
     }
 
     public Quota<QuotaCount> getMessageQuota(QuotaRoot quotaRoot) throws 
MailboxException {
-        return Quota.quota(
-            currentQuotaManager.getCurrentMessageCount(quotaRoot),
-            
maxQuotaManager.getMaxMessage(quotaRoot).orElse(QuotaCount.unlimited()));
+        return Quota.<QuotaCount>builder()
+            .used(currentQuotaManager.getCurrentMessageCount(quotaRoot))
+            
.computedLimit(maxQuotaManager.getMaxMessage(quotaRoot).orElse(QuotaCount.unlimited()))
+            .build();
     }
 
 
     public Quota<QuotaSize> getStorageQuota(QuotaRoot quotaRoot) throws 
MailboxException {
-        return Quota.quota(
-            currentQuotaManager.getCurrentStorage(quotaRoot),
-            
maxQuotaManager.getMaxStorage(quotaRoot).orElse(QuotaSize.unlimited()));
+        return Quota.<QuotaSize>builder()
+            .used(currentQuotaManager.getCurrentStorage(quotaRoot))
+            
.computedLimit(maxQuotaManager.getMaxStorage(quotaRoot).orElse(QuotaSize.unlimited()))
+            .build();
     }
 
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/fa0612a7/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
index 91d2ae3..92431a9 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerSideEffectTest.java
@@ -63,7 +63,10 @@ import org.junit.rules.ExpectedException;
 import com.google.common.collect.ImmutableList;
 
 public abstract class AbstractMessageIdManagerSideEffectTest {
-    private static final Quota<QuotaCount> OVER_QUOTA = 
Quota.quota(QuotaCount.count(102), QuotaCount.count(100));
+    private static final Quota<QuotaCount> OVER_QUOTA = 
Quota.<QuotaCount>builder()
+        .used(QuotaCount.count(102))
+        .computedLimit(QuotaCount.count(100))
+        .build();
     private static final MessageUid messageUid1 = MessageUid.of(111);
 
     public static final Flags FLAGS = new Flags();
@@ -166,9 +169,11 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
     public void setInMailboxesShouldThrowExceptionWhenOverQuota() throws 
Exception {
         MessageId messageId = testingData.persist(mailbox1.getMailboxId(), 
messageUid1, FLAGS, session);
         reset(dispatcher);
-        
when(quotaManager.getStorageQuota(any(QuotaRoot.class))).thenReturn(Quota.quota(QuotaSize.size(2),
 QuotaSize.unlimited()));
+        when(quotaManager.getStorageQuota(any(QuotaRoot.class))).thenReturn(
+            
Quota.<QuotaSize>builder().used(QuotaSize.size(2)).computedLimit(QuotaSize.unlimited()).build());
         
when(quotaManager.getMessageQuota(any(QuotaRoot.class))).thenReturn(OVER_QUOTA);
-        
when(quotaManager.getStorageQuota(any(QuotaRoot.class))).thenReturn(Quota.quota(QuotaSize.size(2),
 QuotaSize.unlimited()));
+        when(quotaManager.getStorageQuota(any(QuotaRoot.class))).thenReturn(
+            
Quota.<QuotaSize>builder().used(QuotaSize.size(2)).computedLimit(QuotaSize.unlimited()).build());
 
         expectedException.expect(OverQuotaException.class);
 
@@ -311,8 +316,10 @@ public abstract class 
AbstractMessageIdManagerSideEffectTest {
     }
 
     private void givenUnlimitedQuota() throws MailboxException {
-        
when(quotaManager.getMessageQuota(any(QuotaRoot.class))).thenReturn(Quota.quota(QuotaCount.count(2),
 QuotaCount.unlimited()));
-        
when(quotaManager.getStorageQuota(any(QuotaRoot.class))).thenReturn(Quota.quota(QuotaSize.size(2),
 QuotaSize.unlimited()));
+        when(quotaManager.getMessageQuota(any(QuotaRoot.class))).thenReturn(
+            
Quota.<QuotaCount>builder().used(QuotaCount.count(2)).computedLimit(QuotaCount.unlimited()).build());
+        when(quotaManager.getStorageQuota(any(QuotaRoot.class))).thenReturn(
+            
Quota.<QuotaSize>builder().used(QuotaSize.size(2)).computedLimit(QuotaSize.unlimited()).build());
     }
 
     private SimpleMessageMetaData fromMessageResult(MessageId messageId, 
MessageResult messageResult) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/fa0612a7/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/QuotaCheckerTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/QuotaCheckerTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/QuotaCheckerTest.java
index d4901f8..d85336b 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/QuotaCheckerTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/QuotaCheckerTest.java
@@ -54,8 +54,10 @@ public class QuotaCheckerTest {
     @Test
     public void quotaCheckerShouldNotThrowOnRegularQuotas() throws 
MailboxException {
         
when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenReturn(QUOTA_ROOT);
-        
when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(Quota.quota(QuotaCount.count(10),
 QuotaCount.count(100)));
-        
when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(Quota.quota(QuotaSize.size(100),
 QuotaSize.size(1000)));
+        when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(
+            
Quota.<QuotaCount>builder().used(QuotaCount.count(10)).computedLimit(QuotaCount.count(100)).build());
+        when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(
+            
Quota.<QuotaSize>builder().used(QuotaSize.size(100)).computedLimit(QuotaSize.size(1000)).build());
         QuotaChecker quotaChecker = new QuotaChecker(mockedQuotaManager, 
mockedQuotaRootResolver, MAILBOX);
 
         quotaChecker.tryAddition(0, 0);
@@ -64,8 +66,10 @@ public class QuotaCheckerTest {
     @Test
     public void quotaCheckerShouldNotThrowOnRegularModifiedQuotas() throws 
MailboxException {
         
when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenReturn(QUOTA_ROOT);
-        
when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(Quota.quota(QuotaCount.count(10),
 QuotaCount.count(100)));
-        
when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(Quota.quota(QuotaSize.size(100),
 QuotaSize.size(1000)));
+        when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(
+            
Quota.<QuotaCount>builder().used(QuotaCount.count(10)).computedLimit(QuotaCount.count(100)).build());
+        when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(
+            
Quota.<QuotaSize>builder().used(QuotaSize.size(100)).computedLimit(QuotaSize.size(1000)).build());
         QuotaChecker quotaChecker = new QuotaChecker(mockedQuotaManager, 
mockedQuotaRootResolver, MAILBOX);
 
         quotaChecker.tryAddition(89, 899);
@@ -74,8 +78,10 @@ public class QuotaCheckerTest {
     @Test
     public void quotaCheckerShouldNotThrowOnReachedMaximumQuotas() throws 
MailboxException {
         
when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenReturn(QUOTA_ROOT);
-        
when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(Quota.quota(QuotaCount.count(10),
 QuotaCount.count(100)));
-        
when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(Quota.quota(QuotaSize.size(100),
 QuotaSize.size(1000)));
+        when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(
+            
Quota.<QuotaCount>builder().used(QuotaCount.count(10)).computedLimit(QuotaCount.count(100)).build());
+        when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(
+            
Quota.<QuotaSize>builder().used(QuotaSize.size(100)).computedLimit(QuotaSize.size(1000)).build());
         QuotaChecker quotaChecker = new QuotaChecker(mockedQuotaManager, 
mockedQuotaRootResolver, MAILBOX);
 
         quotaChecker.tryAddition(90, 900);
@@ -84,8 +90,10 @@ public class QuotaCheckerTest {
     @Test
     public void quotaCheckerShouldThrowOnExceededMessages() throws 
MailboxException {
         
when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenReturn(QUOTA_ROOT);
-        
when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(Quota.quota(QuotaCount.count(10),
 QuotaCount.count(100)));
-        
when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(Quota.quota(QuotaSize.size(100),
 QuotaSize.size(1000)));
+        when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(
+            
Quota.<QuotaCount>builder().used(QuotaCount.count(10)).computedLimit(QuotaCount.count(100)).build());
+        when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(
+            
Quota.<QuotaSize>builder().used(QuotaSize.size(100)).computedLimit(QuotaSize.size(1000)).build());
         QuotaChecker quotaChecker = new QuotaChecker(mockedQuotaManager, 
mockedQuotaRootResolver, MAILBOX);
 
         assertThatThrownBy(() -> quotaChecker.tryAddition(91, 899))
@@ -95,8 +103,10 @@ public class QuotaCheckerTest {
     @Test
     public void quotaCheckerShouldThrowOnExceededStorage() throws 
MailboxException {
         
when(mockedQuotaRootResolver.getQuotaRoot(MAILBOX_PATH)).thenReturn(QUOTA_ROOT);
-        
when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(Quota.quota(QuotaCount.count(10),
 QuotaCount.count(100)));
-        
when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(Quota.quota(QuotaSize.size(100),
 QuotaSize.size(1000)));
+        when(mockedQuotaManager.getMessageQuota(QUOTA_ROOT)).thenReturn(
+            
Quota.<QuotaCount>builder().used(QuotaCount.count(10)).computedLimit(QuotaCount.count(100)).build());
+        when(mockedQuotaManager.getStorageQuota(QUOTA_ROOT)).thenReturn(
+            
Quota.<QuotaSize>builder().used(QuotaSize.size(100)).computedLimit(QuotaSize.size(1000)).build());
         QuotaChecker quotaChecker = new QuotaChecker(mockedQuotaManager, 
mockedQuotaRootResolver, MAILBOX);
 
         assertThatThrownBy(() -> quotaChecker.tryAddition(89, 901))

http://git-wip-us.apache.org/repos/asf/james-project/blob/fa0612a7/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/StoreQuotaManagerTest.java
----------------------------------------------------------------------
diff --git 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/StoreQuotaManagerTest.java
 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/StoreQuotaManagerTest.java
index a1ae745..2d7ed2a 100644
--- 
a/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/StoreQuotaManagerTest.java
+++ 
b/mailbox/store/src/test/java/org/apache/james/mailbox/store/quota/StoreQuotaManagerTest.java
@@ -21,8 +21,6 @@ package org.apache.james.mailbox.store.quota;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import java.util.Optional;
@@ -55,14 +53,16 @@ public class StoreQuotaManagerTest {
     public void getMessageQuotaShouldWorkWithNumericValues() throws Exception {
         
when(mockedMaxQuotaManager.getMaxMessage(quotaRoot)).thenReturn(Optional.of(QuotaCount.count(360L)));
         
when(mockedCurrentQuotaManager.getCurrentMessageCount(quotaRoot)).thenReturn(QuotaCount.count(36L));
-        
assertThat(testee.getMessageQuota(quotaRoot)).isEqualTo(Quota.quota(QuotaCount.count(36L),
 QuotaCount.count(360L)));
+        assertThat(testee.getMessageQuota(quotaRoot)).isEqualTo(
+            
Quota.<QuotaCount>builder().used(QuotaCount.count(36)).computedLimit(QuotaCount.count(360)).build());
     }
 
     @Test
     public void getStorageQuotaShouldWorkWithNumericValues() throws Exception {
         
when(mockedMaxQuotaManager.getMaxStorage(quotaRoot)).thenReturn(Optional.of(QuotaSize.size(360L)));
         
when(mockedCurrentQuotaManager.getCurrentStorage(quotaRoot)).thenReturn(QuotaSize.size(36L));
-        
assertThat(testee.getStorageQuota(quotaRoot)).isEqualTo(Quota.quota(QuotaSize.size(36L),
 QuotaSize.size(360L)));
+        assertThat(testee.getStorageQuota(quotaRoot)).isEqualTo(
+            
Quota.<QuotaSize>builder().used(QuotaSize.size(36)).computedLimit(QuotaSize.size(360)).build());
     }
 
     @Test
@@ -70,7 +70,8 @@ public class StoreQuotaManagerTest {
         
when(mockedMaxQuotaManager.getMaxStorage(quotaRoot)).thenReturn(Optional.of(QuotaSize.unlimited()));
         
when(mockedCurrentQuotaManager.getCurrentStorage(quotaRoot)).thenReturn(QuotaSize.size(36L));
 
-        
assertThat(testee.getStorageQuota(quotaRoot)).isEqualTo(Quota.quota(QuotaSize.size(36L),
 QuotaSize.unlimited()));
+        assertThat(testee.getStorageQuota(quotaRoot)).isEqualTo(
+            
Quota.<QuotaSize>builder().used(QuotaSize.size(36)).computedLimit(QuotaSize.unlimited()).build());
     }
 
     @Test
@@ -78,7 +79,8 @@ public class StoreQuotaManagerTest {
         
when(mockedMaxQuotaManager.getMaxMessage(quotaRoot)).thenReturn(Optional.of(QuotaCount.unlimited()));
         
when(mockedCurrentQuotaManager.getCurrentMessageCount(quotaRoot)).thenReturn(QuotaCount.count(36L));
 
-        
assertThat(testee.getMessageQuota(quotaRoot)).isEqualTo(Quota.quota(QuotaCount.count(36L),
 QuotaCount.unlimited()));
+        assertThat(testee.getMessageQuota(quotaRoot)).isEqualTo(
+            
Quota.<QuotaCount>builder().used(QuotaCount.count(36)).computedLimit(QuotaCount.unlimited()).build());
     }
 
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/fa0612a7/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaResponseEncoderTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaResponseEncoderTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaResponseEncoderTest.java
index 135b4a5..f70c022 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaResponseEncoderTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaResponseEncoderTest.java
@@ -37,7 +37,8 @@ public class QuotaResponseEncoderTest {
 
     @Test
     public void quotaMessageResponseShouldBeWellFormatted() throws Exception {
-        QuotaResponse response = new QuotaResponse("MESSAGE", "root", 
Quota.quota(QuotaCount.count(231), QuotaCount.count(1024)));
+        QuotaResponse response = new QuotaResponse("MESSAGE", "root",
+            
Quota.<QuotaCount>builder().used(QuotaCount.count(231)).computedLimit(QuotaCount.count(1024)).build());
         ByteImapResponseWriter byteImapResponseWriter = new 
ByteImapResponseWriter();
         ImapResponseComposer composer = new 
ImapResponseComposerImpl(byteImapResponseWriter, 1024);
         QuotaResponseEncoder encoder = new QuotaResponseEncoder(new 
EndImapEncoder());
@@ -48,7 +49,8 @@ public class QuotaResponseEncoderTest {
 
     @Test
     public void quotaStorageResponseShouldBeWellFormatted() throws Exception {
-        QuotaResponse response = new QuotaResponse("STORAGE", "root", 
Quota.quota(QuotaSize.size(231 * 1024), QuotaSize.size(1024 * 1024)));
+        QuotaResponse response = new QuotaResponse("STORAGE", "root",
+        Quota.<QuotaSize>builder().used(QuotaSize.size(231 * 
1024)).computedLimit(QuotaSize.size(1024 * 1024)).build());
         ByteImapResponseWriter byteImapResponseWriter = new 
ByteImapResponseWriter();
         ImapResponseComposer composer = new 
ImapResponseComposerImpl(byteImapResponseWriter, 1024);
         QuotaResponseEncoder encoder = new QuotaResponseEncoder(new 
EndImapEncoder());

http://git-wip-us.apache.org/repos/asf/james-project/blob/fa0612a7/protocols/imap/src/test/java/org/apache/james/imap/processor/GetQuotaProcessorTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/GetQuotaProcessorTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/GetQuotaProcessorTest.java
index abe0703..45eec7f 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/GetQuotaProcessorTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/GetQuotaProcessorTest.java
@@ -58,8 +58,10 @@ public class GetQuotaProcessorTest {
 
     private static final QuotaRoot QUOTA_ROOT = QuotaRoot.quotaRoot("plop");
     public static final MailboxPath MAILBOX_PATH = new 
MailboxPath("namespace", "plop", "INBOX");
-    public static final Quota<QuotaCount> MESSAGE_QUOTA = 
Quota.quota(QuotaCount.count(24), QuotaCount.count(1589));
-    public static final Quota<QuotaSize> STORAGE_QUOTA = 
Quota.quota(QuotaSize.size(240), QuotaSize.size(15890));
+    public static final Quota<QuotaCount> MESSAGE_QUOTA =
+        
Quota.<QuotaCount>builder().used(QuotaCount.count(24)).computedLimit(QuotaCount.count(1589)).build();
+    public static final Quota<QuotaSize> STORAGE_QUOTA =
+        
Quota.<QuotaSize>builder().used(QuotaSize.size(240)).computedLimit(QuotaSize.size(15890)).build();
 
     private GetQuotaProcessor testee;
     private ImapSession mockedImapSession;

http://git-wip-us.apache.org/repos/asf/james-project/blob/fa0612a7/protocols/imap/src/test/java/org/apache/james/imap/processor/GetQuotaRootProcessorTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/GetQuotaRootProcessorTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/GetQuotaRootProcessorTest.java
index 9021b65..8220517 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/GetQuotaRootProcessorTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/GetQuotaRootProcessorTest.java
@@ -52,8 +52,10 @@ public class GetQuotaRootProcessorTest {
 
     private static final QuotaRoot QUOTA_ROOT = QuotaRoot.quotaRoot("plop");
     public static final MailboxPath MAILBOX_PATH = MailboxPath.forUser("plop", 
"INBOX");
-    public static final Quota<QuotaCount> MESSAGE_QUOTA = 
Quota.quota(QuotaCount.count(24), QuotaCount.count(1589));
-    public static final Quota<QuotaSize> STORAGE_QUOTA = 
Quota.quota(QuotaSize.size(240), QuotaSize.size(15890));
+    public static final Quota<QuotaCount> MESSAGE_QUOTA =
+        
Quota.<QuotaCount>builder().used(QuotaCount.count(24)).computedLimit(QuotaCount.count(1589)).build();
+    public static final Quota<QuotaSize> STORAGE_QUOTA =
+        
Quota.<QuotaSize>builder().used(QuotaSize.size(240)).computedLimit(QuotaSize.size(15890)).build();
 
     private GetQuotaRootProcessor testee;
     private Mockery mockery;


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

Reply via email to