JAMES-2349 Add domain information as part of quota details
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ea9286d1 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ea9286d1 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ea9286d1 Branch: refs/heads/master Commit: ea9286d123210d041d7a403ea4041440c06bf5c8 Parents: 28a108f Author: benwa <[email protected]> Authored: Wed Mar 14 10:46:44 2018 +0700 Committer: benwa <[email protected]> Committed: Thu Mar 15 14:40:16 2018 +0700 ---------------------------------------------------------------------- .../james/webadmin/dto/QuotaDetailsDTO.java | 18 ++++++++++++++++-- .../webadmin/routes/UserQuotaRoutesTest.java | 10 +++++++++- 2 files changed, 25 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/ea9286d1/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/dto/QuotaDetailsDTO.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/dto/QuotaDetailsDTO.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/dto/QuotaDetailsDTO.java index 6c563ec..0519c43 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/dto/QuotaDetailsDTO.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/dto/QuotaDetailsDTO.java @@ -32,6 +32,7 @@ public class QuotaDetailsDTO { public static class Builder { private Optional<QuotaDTO> global; + private Optional<QuotaDTO> domain; private Optional<QuotaDTO> user; private Optional<QuotaDTO> computed; @@ -46,6 +47,11 @@ public class QuotaDetailsDTO { return this; } + public Builder domain(QuotaDTO domain) { + this.domain = Optional.of(domain); + return this; + } + public Builder user(QuotaDTO user) { this.user = Optional.of(user); return this; @@ -60,6 +66,8 @@ public class QuotaDetailsDTO { switch (scope) { case Global: return global(value); + case Domain: + return domain(value); case User: return user(value); } @@ -67,16 +75,18 @@ public class QuotaDetailsDTO { } public QuotaDetailsDTO build() { - return new QuotaDetailsDTO(global, user, computed); + return new QuotaDetailsDTO(global, domain, user, computed); } } private final Optional<QuotaDTO> global; + private final Optional<QuotaDTO> domain; private final Optional<QuotaDTO> user; private final Optional<QuotaDTO> computed; - private QuotaDetailsDTO(Optional<QuotaDTO> global, Optional<QuotaDTO> user, Optional<QuotaDTO> computed) { + private QuotaDetailsDTO(Optional<QuotaDTO> global, Optional<QuotaDTO> domain, Optional<QuotaDTO> user, Optional<QuotaDTO> computed) { this.global = global; + this.domain = domain; this.user = user; this.computed = computed; } @@ -85,6 +95,10 @@ public class QuotaDetailsDTO { return global; } + public Optional<QuotaDTO> getDomain() { + return domain; + } + public Optional<QuotaDTO> getUser() { return user; } http://git-wip-us.apache.org/repos/asf/james-project/blob/ea9286d1/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserQuotaRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserQuotaRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserQuotaRoutesTest.java index fce8c95..bf5109f 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserQuotaRoutesTest.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserQuotaRoutesTest.java @@ -395,6 +395,8 @@ public class UserQuotaRoutesTest { public void getQuotaShouldReturnBothWhenValueSpecified() throws Exception { maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(1111)); maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(22)); + maxQuotaManager.setDomainMaxStorage(PERDU_COM, QuotaSize.size(34)); + maxQuotaManager.setDomainMaxMessage(PERDU_COM, QuotaCount.count(23)); maxQuotaManager.setMaxStorage(userQuotaRootResolver.forUser(BOB), QuotaSize.size(42)); maxQuotaManager.setMaxMessage(userQuotaRootResolver.forUser(BOB), QuotaCount.count(52)); @@ -412,6 +414,8 @@ public class UserQuotaRoutesTest { softly.assertThat(jsonPath.getLong("computed." + COUNT)).isEqualTo(52); softly.assertThat(jsonPath.getLong("user." + SIZE)).isEqualTo(42); softly.assertThat(jsonPath.getLong("user." + COUNT)).isEqualTo(52); + softly.assertThat(jsonPath.getLong("domain." + SIZE)).isEqualTo(34); + softly.assertThat(jsonPath.getLong("domain." + COUNT)).isEqualTo(23); softly.assertThat(jsonPath.getLong("global." + SIZE)).isEqualTo(1111); softly.assertThat(jsonPath.getLong("global." + COUNT)).isEqualTo(22); } @@ -419,7 +423,8 @@ public class UserQuotaRoutesTest { @Test public void getQuotaShouldReturnOnlySpecifiedValues() throws Exception { maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(1111)); - maxQuotaManager.setMaxMessage(userQuotaRootResolver.forUser(BOB), QuotaCount.count(52)); + maxQuotaManager.setMaxMessage(userQuotaRootResolver.forUser(BOB), QuotaCount.count(18)); + maxQuotaManager.setDomainMaxMessage(PERDU_COM, QuotaCount.count(52)); JsonPath jsonPath = given() @@ -435,6 +440,8 @@ public class UserQuotaRoutesTest { softly.assertThat(jsonPath.getLong("computed." + COUNT)).isEqualTo(52); softly.assertThat(jsonPath.getLong("user." + COUNT)).isEqualTo(52); softly.assertThat(jsonPath.getObject("user." + SIZE, Long.class)).isNull(); + softly.assertThat(jsonPath.getObject("domain." + SIZE, Long.class)).isNull(); + softly.assertThat(jsonPath.getObject("domain." + COUNT, Long.class)).isEqualTo(18); softly.assertThat(jsonPath.getLong("global." + SIZE)).isEqualTo(1111); softly.assertThat(jsonPath.getObject("global." + COUNT, Long.class)).isNull(); } @@ -457,6 +464,7 @@ public class UserQuotaRoutesTest { softly.assertThat(jsonPath.getLong("computed." + SIZE)).isEqualTo(1111); softly.assertThat(jsonPath.getLong("computed." + COUNT)).isEqualTo(12); softly.assertThat(jsonPath.getObject("user", Object.class)).isNull(); + softly.assertThat(jsonPath.getObject("domain", Object.class)).isNull(); softly.assertThat(jsonPath.getLong("global." + SIZE)).isEqualTo(1111); softly.assertThat(jsonPath.getLong("global." + COUNT)).isEqualTo(12); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
