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]

Reply via email to