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