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 2018/05/30 02:24:25 UTC
[14/14] james-project git commit: JAMES-2404 Rely on JUNIT-5
extensions in other tests
JAMES-2404 Rely on JUNIT-5 extensions in other tests
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3d2a90c6
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3d2a90c6
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3d2a90c6
Branch: refs/heads/master
Commit: 3d2a90c61140e850fb85076e7b93942f31a5df69
Parents: 9a6fdbe
Author: benwa <bt...@linagora.com>
Authored: Tue May 29 09:51:03 2018 +0700
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue May 29 15:32:54 2018 +0200
----------------------------------------------------------------------
.../webadmin/routes/DomainQuotaRoutesTest.java | 62 +++++-------------
.../webadmin/routes/GlobalQuotaRoutesTest.java | 67 +++++++-------------
.../routes/ScanningQuotaSearchExtension.java | 2 +
.../routes/WebAdminQuotaSearchTestSystem.java | 15 ++++-
4 files changed, 57 insertions(+), 89 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/3d2a90c6/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesTest.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesTest.java
index 1be5ba2..b27c0d6 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesTest.java
@@ -21,34 +21,24 @@ package org.apache.james.webadmin.routes;
import static com.jayway.restassured.RestAssured.given;
import static com.jayway.restassured.RestAssured.when;
-import static org.apache.james.webadmin.WebAdminServer.NO_CONFIGURATION;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.Map;
import org.apache.james.core.Domain;
-import org.apache.james.dnsservice.api.InMemoryDNSService;
-import org.apache.james.domainlist.memory.MemoryDomainList;
-import org.apache.james.mailbox.inmemory.quota.InMemoryPerUserMaxQuotaManager;
+import org.apache.james.mailbox.quota.MaxQuotaManager;
import org.apache.james.mailbox.quota.QuotaCount;
import org.apache.james.mailbox.quota.QuotaSize;
-import org.apache.james.metrics.api.NoopMetricFactory;
-import org.apache.james.user.memory.MemoryUsersRepository;
-import org.apache.james.webadmin.WebAdminServer;
-import org.apache.james.webadmin.WebAdminUtils;
-import org.apache.james.webadmin.jackson.QuotaModule;
-import org.apache.james.webadmin.service.DomainQuotaService;
-import org.apache.james.webadmin.utils.JsonTransformer;
import org.eclipse.jetty.http.HttpStatus;
-import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
-import com.google.common.collect.ImmutableSet;
import com.jayway.restassured.RestAssured;
import com.jayway.restassured.http.ContentType;
import com.jayway.restassured.path.json.JsonPath;
+@ExtendWith(ScanningQuotaSearchExtension.class)
class DomainQuotaRoutesTest {
private static final String QUOTA_DOMAINS = "/quota/domains";
@@ -56,34 +46,17 @@ class DomainQuotaRoutesTest {
private static final Domain TROUVÉ_COM = Domain.of("trouvé.com");
private static final String COUNT = "count";
private static final String SIZE = "size";
- private WebAdminServer webAdminServer;
- private InMemoryPerUserMaxQuotaManager maxQuotaManager;
+ private MaxQuotaManager maxQuotaManager;
@BeforeEach
- void setUp() throws Exception {
- maxQuotaManager = new InMemoryPerUserMaxQuotaManager();
- MemoryDomainList memoryDomainList = new MemoryDomainList(new InMemoryDNSService());
- memoryDomainList.setAutoDetect(false);
- memoryDomainList.setAutoDetectIP(false);
- memoryDomainList.addDomain(TROUVÉ_COM);
- DomainQuotaService domainQuotaService = new DomainQuotaService(maxQuotaManager);
- QuotaModule quotaModule = new QuotaModule();
- MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting();
- DomainQuotaRoutes domainQuotaRoutes = new DomainQuotaRoutes(memoryDomainList, domainQuotaService, usersRepository, new JsonTransformer(quotaModule), ImmutableSet.of(quotaModule));
- webAdminServer = WebAdminUtils.createWebAdminServer(
- new NoopMetricFactory(),
- domainQuotaRoutes);
- webAdminServer.configure(NO_CONFIGURATION);
- webAdminServer.await();
-
- RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer)
- .build();
- RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();
- }
+ void setUp(WebAdminQuotaSearchTestSystem testSystem) throws Exception {
+ testSystem.getQuotaSearchTestSystem().getDomainList()
+ .addDomain(TROUVÉ_COM);
+
+ maxQuotaManager = testSystem.getQuotaSearchTestSystem().getMaxQuotaManager();
- @AfterEach
- void stop() {
- webAdminServer.destroy();
+ RestAssured.requestSpecification = testSystem.getRequestSpecification();
+ RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();
}
@Test
@@ -103,7 +76,7 @@ class DomainQuotaRoutesTest {
}
@Test
- void getCountShouldReturnStoredValue() {
+ void getCountShouldReturnStoredValue() throws Exception {
int value = 42;
maxQuotaManager.setDomainMaxMessage(TROUVÉ_COM, QuotaCount.count(value));
@@ -200,7 +173,7 @@ class DomainQuotaRoutesTest {
}
@Test
- void deleteCountShouldSetQuotaToEmpty() {
+ void deleteCountShouldSetQuotaToEmpty() throws Exception {
maxQuotaManager.setDomainMaxMessage(TROUVÉ_COM, QuotaCount.count(42));
given()
@@ -228,11 +201,10 @@ class DomainQuotaRoutesTest {
}
@Test
- void getSizeShouldReturnStoredValue() {
+ void getSizeShouldReturnStoredValue() throws Exception {
long value = 42;
maxQuotaManager.setDomainMaxStorage(TROUVÉ_COM, QuotaSize.size(value));
-
long quota =
given()
.get(QUOTA_DOMAINS + "/" + TROUVÉ_COM.name() + "/" + SIZE)
@@ -327,7 +299,7 @@ class DomainQuotaRoutesTest {
}
@Test
- void deleteSizeShouldSetQuotaToEmpty() {
+ void deleteSizeShouldSetQuotaToEmpty() throws Exception {
maxQuotaManager.setDomainMaxStorage(TROUVÉ_COM, QuotaSize.size(42));
given()
@@ -362,7 +334,7 @@ class DomainQuotaRoutesTest {
}
@Test
- void getQuotaShouldReturnSizeWhenNoCount() {
+ void getQuotaShouldReturnSizeWhenNoCount() throws Exception {
int maxStorage = 42;
maxQuotaManager.setDomainMaxStorage(TROUVÉ_COM, QuotaSize.size(maxStorage));
@@ -380,7 +352,7 @@ class DomainQuotaRoutesTest {
}
@Test
- void getQuotaShouldReturnBothWhenNoSize() {
+ void getQuotaShouldReturnBothWhenNoSize() throws Exception {
int maxMessage = 42;
maxQuotaManager.setDomainMaxMessage(TROUVÉ_COM, QuotaCount.count(maxMessage));
http://git-wip-us.apache.org/repos/asf/james-project/blob/3d2a90c6/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 d2cf81f..cb3380d 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
@@ -21,51 +21,32 @@ package org.apache.james.webadmin.routes;
import static com.jayway.restassured.RestAssured.given;
import static com.jayway.restassured.RestAssured.when;
-import static org.apache.james.webadmin.WebAdminServer.NO_CONFIGURATION;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.Map;
-import org.apache.james.mailbox.inmemory.quota.InMemoryPerUserMaxQuotaManager;
+import org.apache.james.mailbox.quota.MaxQuotaManager;
import org.apache.james.mailbox.quota.QuotaCount;
import org.apache.james.mailbox.quota.QuotaSize;
-import org.apache.james.metrics.logger.DefaultMetricFactory;
-import org.apache.james.webadmin.WebAdminServer;
-import org.apache.james.webadmin.WebAdminUtils;
-import org.apache.james.webadmin.jackson.QuotaModule;
-import org.apache.james.webadmin.service.GlobalQuotaService;
-import org.apache.james.webadmin.utils.JsonTransformer;
import org.assertj.core.api.SoftAssertions;
import org.eclipse.jetty.http.HttpStatus;
-import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
import com.jayway.restassured.RestAssured;
import com.jayway.restassured.http.ContentType;
import com.jayway.restassured.path.json.JsonPath;
+@ExtendWith(ScanningQuotaSearchExtension.class)
class GlobalQuotaRoutesTest {
-
- private WebAdminServer webAdminServer;
- private InMemoryPerUserMaxQuotaManager maxQuotaManager;
+ private MaxQuotaManager maxQuotaManager;
@BeforeEach
- void setUp() throws Exception {
- maxQuotaManager = new InMemoryPerUserMaxQuotaManager();
- webAdminServer = WebAdminUtils.createWebAdminServer(
- new DefaultMetricFactory(),
- new GlobalQuotaRoutes(new GlobalQuotaService(maxQuotaManager), new JsonTransformer(new QuotaModule())));
- webAdminServer.configure(NO_CONFIGURATION);
- webAdminServer.await();
-
- RestAssured.requestSpecification = WebAdminUtils.buildRequestSpecification(webAdminServer)
- .build();
- }
+ void setUp(WebAdminQuotaSearchTestSystem testSystem) {
+ RestAssured.requestSpecification = testSystem.getRequestSpecification();
- @AfterEach
- void stop() {
- webAdminServer.destroy();
+ maxQuotaManager = testSystem.getQuotaSearchTestSystem().getMaxQuotaManager();
}
@Test
@@ -77,7 +58,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- void getCountShouldReturnStoredValue() {
+ void getCountShouldReturnStoredValue() throws Exception {
int value = 42;
maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(value));
@@ -138,7 +119,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- void putCountShouldHandleMinusOneAsInfinite() {
+ void putCountShouldHandleMinusOneAsInfinite() throws Exception {
given()
.body("-1")
.when()
@@ -151,7 +132,7 @@ class GlobalQuotaRoutesTest {
@Test
- void putCountShouldAcceptValidValue() {
+ void putCountShouldAcceptValidValue() throws Exception {
given()
.body("42")
.when()
@@ -163,7 +144,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- public void deleteCountShouldSetQuotaToUnlimited() {
+ void deleteCountShouldSetQuotaToUnlimited() throws Exception {
maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(42));
when()
@@ -183,7 +164,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- void getSizeShouldReturnStoredValue() {
+ void getSizeShouldReturnStoredValue() throws Exception {
long value = 42;
maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(value));
@@ -224,7 +205,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- void putSizeShouldHandleMinusOneAsInfinite() {
+ void putSizeShouldHandleMinusOneAsInfinite() throws Exception {
given()
.body("-1")
.when()
@@ -258,7 +239,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- void putSizeShouldAcceptValidValue() {
+ void putSizeShouldAcceptValidValue() throws Exception {
given()
.body("42")
.when()
@@ -270,7 +251,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- public void deleteSizeShouldSetQuotaToUnlimited() {
+ void deleteSizeShouldSetQuotaToUnlimited() throws Exception {
maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(42));
when()
@@ -282,7 +263,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- void getQuotaShouldReturnBothWhenValueSpecified() {
+ void getQuotaShouldReturnBothWhenValueSpecified() throws Exception {
int maxStorage = 42;
int maxMessage = 52;
maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(maxStorage));
@@ -321,7 +302,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- public void getQuotaShouldReturnOnlySizeWhenNoCount() {
+ void getQuotaShouldReturnOnlySizeWhenNoCount() throws Exception {
maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(42));
JsonPath jsonPath =
@@ -340,7 +321,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- void getQuotaShouldReturnOnlyCountWhenNoSize() {
+ void getQuotaShouldReturnOnlyCountWhenNoSize() throws Exception {
int maxMessage = 42;
maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(maxMessage));
@@ -361,7 +342,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- void putQuotaShouldUpdateBothQuota() {
+ void putQuotaShouldUpdateBothQuota() throws Exception {
given()
.body("{\"count\":52,\"size\":42}")
.when()
@@ -376,7 +357,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- void putQuotaShouldSetBothQuotaToInfinite() {
+ void putQuotaShouldSetBothQuotaToInfinite() throws Exception {
given()
.body("{\"count\":-1,\"size\":-1}")
.when()
@@ -391,7 +372,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- public void putQuotaShouldUnsetCountWhenNull() {
+ void putQuotaShouldUnsetCountWhenNull() throws Exception {
maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(42));
given()
.body("{\"count\":null,\"size\":43}")
@@ -404,7 +385,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- public void putQuotaShouldUnsetSizeWhenNull() {
+ void putQuotaShouldUnsetSizeWhenNull() throws Exception {
maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(44));
given()
.body("{\"count\":45,\"size\":null}")
@@ -417,7 +398,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- public void putQuotaShouldUnsetCountWhenAbsent() {
+ void putQuotaShouldUnsetCountWhenAbsent() throws Exception {
maxQuotaManager.setGlobalMaxMessage(QuotaCount.count(42));
given()
.body("{\"size\":43}")
@@ -430,7 +411,7 @@ class GlobalQuotaRoutesTest {
}
@Test
- public void putQuotaShouldUnsetSizeWhenAbsent() {
+ void putQuotaShouldUnsetSizeWhenAbsent() throws Exception {
maxQuotaManager.setGlobalMaxStorage(QuotaSize.size(44));
given()
.body("{\"count\":45}")
http://git-wip-us.apache.org/repos/asf/james-project/blob/3d2a90c6/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
index 1907a23..b595181 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ScanningQuotaSearchExtension.java
@@ -21,6 +21,7 @@ package org.apache.james.webadmin.routes;
import static org.mockito.Mockito.mock;
+import org.apache.commons.configuration.DefaultConfigurationBuilder;
import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.domainlist.memory.MemoryDomainList;
import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
@@ -50,6 +51,7 @@ public class ScanningQuotaSearchExtension implements ParameterResolver, BeforeEa
DNSService dnsService = mock(DNSService.class);
MemoryDomainList domainList = new MemoryDomainList(dnsService);
+ domainList.configure(new DefaultConfigurationBuilder());
usersRepository.setDomainList(domainList);
QuotaSearchTestSystem quotaSearchTestSystem = new QuotaSearchTestSystem(
http://git-wip-us.apache.org/repos/asf/james-project/blob/3d2a90c6/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/WebAdminQuotaSearchTestSystem.java
----------------------------------------------------------------------
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/WebAdminQuotaSearchTestSystem.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/WebAdminQuotaSearchTestSystem.java
index 03c16f1..75f8d26 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/WebAdminQuotaSearchTestSystem.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/WebAdminQuotaSearchTestSystem.java
@@ -26,6 +26,8 @@ import org.apache.james.quota.search.QuotaSearchTestSystem;
import org.apache.james.webadmin.WebAdminServer;
import org.apache.james.webadmin.WebAdminUtils;
import org.apache.james.webadmin.jackson.QuotaModule;
+import org.apache.james.webadmin.service.DomainQuotaService;
+import org.apache.james.webadmin.service.GlobalQuotaService;
import org.apache.james.webadmin.service.UserQuotaService;
import org.apache.james.webadmin.utils.JsonTransformer;
@@ -50,10 +52,21 @@ public class WebAdminQuotaSearchTestSystem {
UserQuotaRoutes userQuotaRoutes = new UserQuotaRoutes(quotaSearchTestSystem.getUsersRepository(),
userQuotaService, jsonTransformer,
ImmutableSet.of(quotaModule));
+ DomainQuotaRoutes domainQuotaRoutes = new DomainQuotaRoutes(
+ quotaSearchTestSystem.getDomainList(),
+ new DomainQuotaService(quotaSearchTestSystem.getMaxQuotaManager()),
+ quotaSearchTestSystem.getUsersRepository(),
+ jsonTransformer,
+ ImmutableSet.of(quotaModule));
+ GlobalQuotaRoutes globalQuotaRoutes = new GlobalQuotaRoutes(
+ new GlobalQuotaService(quotaSearchTestSystem.getMaxQuotaManager()),
+ jsonTransformer);
this.webAdminServer = WebAdminUtils.createWebAdminServer(
new NoopMetricFactory(),
- userQuotaRoutes);
+ userQuotaRoutes,
+ domainQuotaRoutes,
+ globalQuotaRoutes);
this.webAdminServer.configure(NO_CONFIGURATION);
this.webAdminServer.await();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org