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 bt...@apache.org on 2017/09/11 02:37:02 UTC
[18/23] james-project git commit: JAMES-2138 Webadmin default content
type should be JSON
JAMES-2138 Webadmin default content type should be JSON
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4817caa7
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4817caa7
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4817caa7
Branch: refs/heads/master
Commit: 4817caa7c514731e540b4ef715ac487a24acbf56
Parents: b421854
Author: benwa <bt...@linagora.com>
Authored: Wed Sep 6 13:10:40 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Sat Sep 9 10:46:36 2017 +0700
----------------------------------------------------------------------
.../WebAdminServerIntegrationTest.java | 6 +
.../routes/CassandraMigrationRoutes.java | 1 -
.../routes/CassandraMigrationRoutesTest.java | 45 ++++--
.../apache/james/webadmin/WebAdminServer.java | 1 +
.../webadmin/routes/DomainsRoutesTest.java | 56 ++++---
.../james/webadmin/routes/UsersRoutesTest.java | 79 +++++++---
.../webadmin/routes/GlobalQuotaRoutesTest.java | 146 +++++++++++++------
.../routes/UserMailboxesRoutesTest.java | 90 ++++++++----
8 files changed, 293 insertions(+), 131 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/4817caa7/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java b/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java
index 6835242..8b6230c 100644
--- a/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java
+++ b/server/protocols/webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/WebAdminServerIntegrationTest.java
@@ -22,6 +22,7 @@ package org.apache.james.webadmin.integration;
import static com.jayway.restassured.RestAssured.given;
import static com.jayway.restassured.config.EncoderConfig.encoderConfig;
import static com.jayway.restassured.config.RestAssuredConfig.newConfig;
+import static org.apache.james.webadmin.Constants.JSON_CONTENT_TYPE;
import static org.apache.james.webadmin.Constants.SEPARATOR;
import static org.assertj.core.api.Assertions.assertThat;
import static org.hamcrest.Matchers.containsString;
@@ -161,6 +162,7 @@ public class WebAdminServerIntegrationTest {
.get(UserRoutes.USERS)
.then()
.statusCode(200)
+ .contentType(JSON_CONTENT_TYPE)
.body(is("[{\"username\":\"username@domain\"}]"));
}
@@ -203,6 +205,7 @@ public class WebAdminServerIntegrationTest {
.get(VERSION)
.then()
.statusCode(200)
+ .contentType(JSON_CONTENT_TYPE)
.body(is("{\"version\":null}"));
}
@@ -214,6 +217,7 @@ public class WebAdminServerIntegrationTest {
.get(VERSION_LATEST)
.then()
.statusCode(200)
+ .contentType(JSON_CONTENT_TYPE)
.body(is("{\"version\":" + CassandraSchemaVersionManager.MAX_VERSION + "}"));
}
@@ -233,6 +237,7 @@ public class WebAdminServerIntegrationTest {
.get(VERSION)
.then()
.statusCode(200)
+ .contentType(JSON_CONTENT_TYPE)
.body(is("{\"version\":" + CassandraSchemaVersionManager.MAX_VERSION + "}"));
}
@@ -251,6 +256,7 @@ public class WebAdminServerIntegrationTest {
.get(VERSION)
.then()
.statusCode(200)
+ .contentType(JSON_CONTENT_TYPE)
.body(is("{\"version\":" + CassandraSchemaVersionManager.MAX_VERSION + "}"));
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4817caa7/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/CassandraMigrationRoutes.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/CassandraMigrationRoutes.java b/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/CassandraMigrationRoutes.java
index c9564e7..c574f13 100644
--- a/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/CassandraMigrationRoutes.java
+++ b/server/protocols/webadmin/webadmin-cassandra/src/main/java/org/apache/james/webadmin/routes/CassandraMigrationRoutes.java
@@ -34,7 +34,6 @@ import spark.Service;
public class CassandraMigrationRoutes implements Routes {
-
private static final Logger LOGGER = LoggerFactory.getLogger(CassandraMigrationRoutes.class);
public static final String VERSION_BASE = "/cassandra/version";
http://git-wip-us.apache.org/repos/asf/james-project/blob/4817caa7/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/CassandraMigrationRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/CassandraMigrationRoutesTest.java b/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/CassandraMigrationRoutesTest.java
index 17aaa2b..d3554d0 100644
--- a/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/CassandraMigrationRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-cassandra/src/test/java/org/apache/james/webadmin/routes/CassandraMigrationRoutesTest.java
@@ -24,13 +24,14 @@ import static com.jayway.restassured.RestAssured.when;
import static com.jayway.restassured.config.EncoderConfig.encoderConfig;
import static com.jayway.restassured.config.RestAssuredConfig.newConfig;
import static org.apache.james.webadmin.WebAdminServer.NO_CONFIGURATION;
-import static org.hamcrest.CoreMatchers.is;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
+
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
@@ -41,6 +42,10 @@ import org.apache.james.metrics.logger.DefaultMetricFactory;
import org.apache.james.webadmin.WebAdminServer;
import org.apache.james.webadmin.service.CassandraMigrationService;
import org.apache.james.webadmin.utils.JsonTransformer;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
import com.google.common.base.Charsets;
import com.google.common.collect.ImmutableMap;
@@ -48,11 +53,6 @@ import com.jayway.restassured.RestAssured;
import com.jayway.restassured.builder.RequestSpecBuilder;
import com.jayway.restassured.http.ContentType;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
public class CassandraMigrationRoutesTest {
private static final Integer LATEST_VERSION = 3;
@@ -101,20 +101,33 @@ public class CassandraMigrationRoutesTest {
public void getShouldReturnTheCurrentVersion() throws Exception {
when(schemaVersionDAO.getCurrentSchemaVersion()).thenReturn(CompletableFuture.completedFuture(Optional.of(CURRENT_VERSION)));
- when()
- .get()
- .then()
- .statusCode(200)
- .body(is("{\"version\":2}"));
+ Integer version =
+ when()
+ .get()
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .jsonPath()
+ .getInt("version");
+
+ assertThat(version).isEqualTo(CURRENT_VERSION);
}
@Test
public void getShouldReturnTheLatestVersionWhenSetUpTheLatestVersion() throws Exception {
- when()
- .get("/latest")
- .then()
- .statusCode(200)
- .body(is("{\"version\":" + LATEST_VERSION + "}"));
+
+ Integer version =
+ when()
+ .get("/latest")
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .jsonPath()
+ .getInt("version");
+
+ assertThat(version).isEqualTo(LATEST_VERSION);
}
@Ignore
http://git-wip-us.apache.org/repos/asf/james-project/blob/4817caa7/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/WebAdminServer.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/WebAdminServer.java b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/WebAdminServer.java
index cfd60b6..ba27d1c 100644
--- a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/WebAdminServer.java
+++ b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/WebAdminServer.java
@@ -83,6 +83,7 @@ public class WebAdminServer implements Configurable {
configureCORS();
configureMetrics();
service.before(authenticationFilter);
+ service.before((request, response) -> response.type(Constants.JSON_CONTENT_TYPE));
configureMDC();
routesList.forEach(routes -> routes.define(service));
service.awaitInitialization();
http://git-wip-us.apache.org/repos/asf/james-project/blob/4817caa7/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java
index 23739f9..c3eeaad 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java
@@ -26,8 +26,7 @@ import static com.jayway.restassured.config.EncoderConfig.encoderConfig;
import static com.jayway.restassured.config.RestAssuredConfig.newConfig;
import static org.apache.james.webadmin.Constants.SEPARATOR;
import static org.apache.james.webadmin.WebAdminServer.NO_CONFIGURATION;
-import static org.hamcrest.CoreMatchers.containsString;
-import static org.hamcrest.CoreMatchers.is;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
@@ -35,6 +34,7 @@ import static org.mockito.Mockito.when;
import java.net.InetAddress;
import java.nio.charset.StandardCharsets;
+import java.util.List;
import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.domainlist.api.DomainList;
@@ -51,6 +51,7 @@ import org.junit.runner.RunWith;
import com.jayway.restassured.RestAssured;
import com.jayway.restassured.builder.RequestSpecBuilder;
import com.jayway.restassured.http.ContentType;
+
import de.bechte.junit.runners.context.HierarchicalContextRunner;
@RunWith(HierarchicalContextRunner.class)
@@ -96,11 +97,18 @@ public class DomainsRoutesTest {
@Test
public void getDomainsShouldBeEmptyByDefault() {
- given()
- .get()
- .then()
- .statusCode(200)
- .body(is("[]"));
+ List<String> domains =
+ given()
+ .get()
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(domains).isEmpty();
}
@Test
@@ -132,11 +140,18 @@ public class DomainsRoutesTest {
with()
.put(DOMAIN);
- when()
- .get()
- .then()
- .statusCode(200)
- .body(containsString(DOMAIN));
+ List<String> domains =
+ when()
+ .get()
+ .then()
+ .contentType(ContentType.JSON)
+ .statusCode(200)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(domains).containsExactly(DOMAIN);
}
@Test
@@ -186,11 +201,18 @@ public class DomainsRoutesTest {
.then()
.statusCode(204);
- when()
- .get()
- .then()
- .statusCode(200)
- .body(is("[]"));
+ List<String> domains =
+ when()
+ .get()
+ .then()
+ .contentType(ContentType.JSON)
+ .statusCode(200)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(domains).isEmpty();
}
@Test
http://git-wip-us.apache.org/repos/asf/james-project/blob/4817caa7/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UsersRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UsersRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UsersRoutesTest.java
index cba4019..c1c7527 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UsersRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UsersRoutesTest.java
@@ -25,14 +25,15 @@ import static com.jayway.restassured.RestAssured.with;
import static com.jayway.restassured.config.EncoderConfig.encoderConfig;
import static com.jayway.restassured.config.RestAssuredConfig.newConfig;
import static org.apache.james.webadmin.WebAdminServer.NO_CONFIGURATION;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.nio.charset.StandardCharsets;
+import java.util.List;
+import java.util.Map;
import org.apache.james.domainlist.api.DomainList;
import org.apache.james.metrics.logger.DefaultMetricFactory;
@@ -48,9 +49,11 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import com.google.common.collect.ImmutableMap;
import com.jayway.restassured.RestAssured;
import com.jayway.restassured.builder.RequestSpecBuilder;
import com.jayway.restassured.http.ContentType;
+
import de.bechte.junit.runners.context.HierarchicalContextRunner;
@RunWith(HierarchicalContextRunner.class)
@@ -96,11 +99,18 @@ public class UsersRoutesTest {
@Test
public void getUsersShouldBeEmptyByDefault() {
- when()
- .get()
- .then()
- .statusCode(200)
- .body(is("[]"));
+ List<Map<String, String>> users =
+ when()
+ .get()
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(users).isEmpty();
}
@Test
@@ -155,13 +165,20 @@ public class UsersRoutesTest {
public void postShouldAddTheUser() {
with()
.body("{\"password\":\"password\"}")
- .put(USERNAME);
-
- when()
- .get()
- .then()
- .statusCode(200)
- .body(equalTo("[{\"username\":\"" + USERNAME + "\"}]"));
+ .put(USERNAME);
+
+ List<Map<String, String>> users =
+ when()
+ .get()
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(users).containsExactly(ImmutableMap.of("username", USERNAME));
}
@Test
@@ -180,11 +197,18 @@ public class UsersRoutesTest {
.statusCode(204);
// Then
- when()
- .get()
- .then()
- .statusCode(200)
- .body(equalTo("[{\"username\":\"" + USERNAME + "\"}]"));
+ List<Map<String, String>> users =
+ when()
+ .get()
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(users).containsExactly(ImmutableMap.of("username", USERNAME));
}
@Test
@@ -269,11 +293,18 @@ public class UsersRoutesTest {
.statusCode(204);
// Then
- when()
- .get()
- .then()
- .statusCode(200)
- .body(equalTo("[]"));
+ List<Map<String, String>> users =
+ when()
+ .get()
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(users).isEmpty();
}
@Test
http://git-wip-us.apache.org/repos/asf/james-project/blob/4817caa7/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java
index 89f9fc0..4d6f8bd 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/GlobalQuotaRoutesTest.java
@@ -24,7 +24,6 @@ import static com.jayway.restassured.config.EncoderConfig.encoderConfig;
import static com.jayway.restassured.config.RestAssuredConfig.newConfig;
import static org.apache.james.webadmin.WebAdminServer.NO_CONFIGURATION;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.hamcrest.CoreMatchers.is;
import org.apache.james.mailbox.inmemory.quota.InMemoryPerUserMaxQuotaManager;
import org.apache.james.mailbox.model.Quota;
@@ -39,6 +38,7 @@ import com.google.common.base.Charsets;
import com.jayway.restassured.RestAssured;
import com.jayway.restassured.builder.RequestSpecBuilder;
import com.jayway.restassured.http.ContentType;
+import com.jayway.restassured.path.json.JsonPath;
public class GlobalQuotaRoutesTest {
@@ -69,11 +69,16 @@ public class GlobalQuotaRoutesTest {
@Test
public void getCountQuotaCountShouldReturnUnlimitedByDefault() {
- given()
- .get(GlobalQuotaRoutes.COUNT_ENDPOINT)
- .then()
- .statusCode(200)
- .body(is(String.valueOf(Quota.UNLIMITED)));
+ long quota =
+ given()
+ .get(GlobalQuotaRoutes.COUNT_ENDPOINT)
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .as(Long.class);
+
+ assertThat(quota).isEqualTo(Quota.UNLIMITED);
}
@Test
@@ -81,11 +86,16 @@ public class GlobalQuotaRoutesTest {
int value = 42;
maxQuotaManager.setDefaultMaxMessage(value);
- given()
- .get(GlobalQuotaRoutes.COUNT_ENDPOINT)
- .then()
- .statusCode(200)
- .body(is(String.valueOf(value)));
+ Long actual =
+ given()
+ .get(GlobalQuotaRoutes.COUNT_ENDPOINT)
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .as(Long.class);
+
+ assertThat(actual).isEqualTo(value);
}
@Test
@@ -131,23 +141,34 @@ public class GlobalQuotaRoutesTest {
@Test
public void getSizeQuotaCountShouldReturnUnlimitedByDefault() {
- given()
- .get(GlobalQuotaRoutes.SIZE_ENDPOINT)
- .then()
- .statusCode(200)
- .body(is(String.valueOf(Quota.UNLIMITED)));
+ long quota =
+ given()
+ .get(GlobalQuotaRoutes.SIZE_ENDPOINT)
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .as(Long.class);
+
+ assertThat(quota).isEqualTo(Quota.UNLIMITED);
}
@Test
public void getSizeShouldReturnStoredValue() throws Exception{
- int value = 42;
+ long value = 42;
maxQuotaManager.setDefaultMaxStorage(value);
- given()
- .get(GlobalQuotaRoutes.SIZE_ENDPOINT)
- .then()
- .statusCode(200)
- .body(is(String.valueOf(value)));
+
+ long quota =
+ given()
+ .get(GlobalQuotaRoutes.SIZE_ENDPOINT)
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .as(Long.class);
+
+ assertThat(quota).isEqualTo(value);
}
@Test
@@ -193,45 +214,74 @@ public class GlobalQuotaRoutesTest {
@Test
public void getQuotaShouldReturnBothWhenValueSpecified() throws Exception {
- maxQuotaManager.setDefaultMaxStorage(42);
- maxQuotaManager.setDefaultMaxMessage(52);
-
- given()
- .get(GlobalQuotaRoutes.QUOTA_ENDPOINT)
- .then()
- .statusCode(200)
- .body(is("{\"count\":52,\"size\":42}"));
+ int maxStorage = 42;
+ int maxMessage = 52;
+ maxQuotaManager.setDefaultMaxStorage(maxStorage);
+ maxQuotaManager.setDefaultMaxMessage(maxMessage);
+
+ JsonPath jsonPath =
+ given()
+ .get(GlobalQuotaRoutes.QUOTA_ENDPOINT)
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .jsonPath();
+
+ assertThat(jsonPath.getLong("size")).isEqualTo(maxStorage);
+ assertThat(jsonPath.getLong("count")).isEqualTo(maxMessage);
}
@Test
public void getQuotaShouldReturnBothDefaultValues() throws Exception {
- given()
- .get(GlobalQuotaRoutes.QUOTA_ENDPOINT)
- .then()
- .statusCode(200)
- .body(is("{\"count\":-1,\"size\":-1}"));
+ JsonPath jsonPath =
+ given()
+ .get(GlobalQuotaRoutes.QUOTA_ENDPOINT)
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .jsonPath();
+
+ assertThat(jsonPath.getLong("size")).isEqualTo(Quota.UNLIMITED);
+ assertThat(jsonPath.getLong("count")).isEqualTo(Quota.UNLIMITED);
}
@Test
public void getQuotaShouldReturnBothWhenNoCount() throws Exception {
- maxQuotaManager.setDefaultMaxStorage(42);
-
- given()
- .get(GlobalQuotaRoutes.QUOTA_ENDPOINT)
- .then()
- .statusCode(200)
- .body(is("{\"count\":-1,\"size\":42}"));
+ int maxStorage = 42;
+ maxQuotaManager.setDefaultMaxStorage(maxStorage);
+
+ JsonPath jsonPath =
+ given()
+ .get(GlobalQuotaRoutes.QUOTA_ENDPOINT)
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .jsonPath();
+
+ assertThat(jsonPath.getLong("size")).isEqualTo(maxStorage);
+ assertThat(jsonPath.getLong("count")).isEqualTo(Quota.UNLIMITED);
}
@Test
public void getQuotaShouldReturnBothWhenNoSize() throws Exception {
- maxQuotaManager.setDefaultMaxMessage(42);
+ int maxMessage = 42;
+ maxQuotaManager.setDefaultMaxMessage(maxMessage);
- given()
- .get(GlobalQuotaRoutes.QUOTA_ENDPOINT)
- .then()
- .statusCode(200)
- .body(is("{\"count\":42,\"size\":-1}"));
+
+ JsonPath jsonPath =
+ given()
+ .get(GlobalQuotaRoutes.QUOTA_ENDPOINT)
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .jsonPath();
+
+ assertThat(jsonPath.getLong("size")).isEqualTo(Quota.UNLIMITED);
+ assertThat(jsonPath.getLong("count")).isEqualTo(maxMessage);
}
@Test
http://git-wip-us.apache.org/repos/asf/james-project/blob/4817caa7/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
index 503abfe..7ae6ce4 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
@@ -26,12 +26,16 @@ import static com.jayway.restassured.config.RestAssuredConfig.newConfig;
import static org.apache.james.webadmin.Constants.SEPARATOR;
import static org.apache.james.webadmin.WebAdminServer.NO_CONFIGURATION;
import static org.apache.james.webadmin.routes.UserMailboxesRoutes.USERS_BASE;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.hamcrest.CoreMatchers.is;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import java.util.List;
+import java.util.Map;
+
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
@@ -63,6 +67,7 @@ import org.junit.runner.RunWith;
import com.google.common.base.Charsets;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import com.jayway.restassured.RestAssured;
import com.jayway.restassured.builder.RequestSpecBuilder;
import com.jayway.restassured.http.ContentType;
@@ -291,11 +296,18 @@ public class UserMailboxesRoutesTest {
@Test
public void getMailboxesShouldReturnEmptyListByDefault() {
- when()
- .get()
- .then()
- .statusCode(200)
- .body(is("[]"));
+ List<Object> list =
+ when()
+ .get()
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(list).isEmpty();
}
@Test
@@ -427,11 +439,18 @@ public class UserMailboxesRoutesTest {
with()
.delete();
- when()
- .get()
- .then()
- .statusCode(200)
- .body(is("[]"));
+ List<Object> list =
+ when()
+ .get()
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(list).isEmpty();
}
@Test
@@ -459,11 +478,18 @@ public class UserMailboxesRoutesTest {
with()
.delete(MAILBOX_NAME);
- when()
- .get()
- .then()
- .statusCode(200)
- .body(is("[]"));
+ List<Object> list =
+ when()
+ .get()
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(list).isEmpty();
}
@Test
@@ -478,11 +504,18 @@ public class UserMailboxesRoutesTest {
with()
.delete(MAILBOX_NAME);
- when()
- .get()
- .then()
- .statusCode(200)
- .body(is("[{\"mailboxName\":\"" + mailboxName + "\"}]"));
+ List<Map<String, String>> list =
+ when()
+ .get()
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(list).containsExactly(ImmutableMap.of("mailboxName", mailboxName));
}
@Test
@@ -510,11 +543,18 @@ public class UserMailboxesRoutesTest {
with()
.delete(MAILBOX_NAME + ".child");
- when()
- .get()
- .then()
- .statusCode(200)
- .body(is("[{\"mailboxName\":\"myMailboxName\"}]"));
+ List<Map<String, String>> list =
+ when()
+ .get()
+ .then()
+ .statusCode(200)
+ .contentType(ContentType.JSON)
+ .extract()
+ .body()
+ .jsonPath()
+ .getList(".");
+
+ assertThat(list).containsExactly(ImmutableMap.of("mailboxName", MAILBOX_NAME));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org