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 ma...@apache.org on 2018/03/13 15:17:25 UTC
[7/8] james-project git commit: JAMES-2344 Quota now uses a builder
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 <ma...@apache.org>
Authored: Thu Mar 8 10:29:35 2018 +0100
Committer: Matthieu Baechler <ma...@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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org