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 2019/11/20 01:57:05 UTC
[james-project] 37/49: [Refactoring] UsersRepository should not
rely on setter injections
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 30d7a837279a48a8d60f2cc5f5dfbfb8d02f05e5
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Sun Nov 17 20:46:26 2019 +0700
[Refactoring] UsersRepository should not rely on setter injections
This causes issues while binding it as a constant with guice
---
.../listeners/QuotaThresholdListenersTestSystem.java | 4 +++-
.../ElasticSearchQuotaSearchTestSystemExtension.java | 4 +---
.../scanning/MemoryQuotaSearchTestSystemExtension.java | 4 +---
.../org/apache/james/mpt/host/JamesImapHostSystem.java | 4 +++-
.../cassandra/host/CassandraHostSystem.java | 6 +++++-
.../mpt/managesieve/file/host/FileHostSystem.java | 4 +++-
.../apache/james/modules/data/MemoryDataModule.java | 11 ++++++++---
.../james/user/cassandra/CassandraUsersRepository.java | 4 +++-
.../user/cassandra/CassandraUsersRepositoryTest.java | 3 +--
.../org/apache/james/user/jpa/JPAUsersRepository.java | 6 ++++++
.../apache/james/user/jpa/JpaUsersRepositoryTest.java | 2 +-
.../apache/james/user/lib/AbstractUsersRepository.java | 12 ++++++------
.../james/user/lib/AbstractUsersRepositoryTest.java | 8 +++-----
.../james/user/memory/MemoryUsersRepository.java | 12 +++++++-----
.../james/user/memory/MemoryUsersRepositoryTest.java | 18 ++++++++----------
.../user/memory/UsersRepositoryManagementTest.java | 4 +++-
.../mailetcontainer/impl/JamesMailetContextTest.java | 3 +--
.../james/transport/mailets/SpamAssassinTest.java | 4 +++-
.../transport/mailets/WithStorageDirectiveTest.java | 4 +++-
.../jmap/draft/JWTAuthenticationStrategyTest.java | 4 +++-
.../james/jmap/draft/UserProvisioningFilterTest.java | 4 +++-
.../jmap/draft/UserProvisioningFilterThreadTest.java | 5 +++--
.../jmap/mailet/filter/JMAPFilteringExtension.java | 4 +++-
.../org/apache/james/pop3server/POP3ServerTest.java | 5 +++--
.../org/apache/james/smtpserver/SMTPServerTest.java | 3 ++-
.../apache/james/webadmin/routes/AliasRoutesTest.java | 3 +--
.../james/webadmin/routes/ForwardRoutesTest.java | 3 +--
.../apache/james/webadmin/routes/GroupsRoutesTest.java | 3 +--
.../james/webadmin/routes/SieveQuotaRoutesTest.java | 4 +++-
.../james/webadmin/routes/SieveScriptRoutesTest.java | 4 +++-
.../apache/james/webadmin/routes/UserRoutesTest.java | 15 +++++++++------
.../vault/routes/DeletedMessagesVaultRoutesTest.java | 3 +--
.../routes/DomainQuotaRoutesNoVirtualHostingTest.java | 2 +-
.../routes/ElasticSearchQuotaSearchExtension.java | 3 +--
.../webadmin/routes/ScanningQuotaSearchExtension.java | 3 +--
35 files changed, 108 insertions(+), 77 deletions(-)
diff --git a/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdListenersTestSystem.java b/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdListenersTestSystem.java
index 14b4ab9..2ba6e93 100644
--- a/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdListenersTestSystem.java
+++ b/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdListenersTestSystem.java
@@ -19,6 +19,7 @@
package org.apache.james.mailbox.quota.mailing.listeners;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.eventsourcing.eventstore.EventStore;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.mailbox.events.Event;
@@ -38,6 +39,7 @@ import com.google.common.collect.ImmutableSet;
class QuotaThresholdListenersTestSystem {
private static final ImmutableSet<RegistrationKey> NO_KEYS = ImmutableSet.of();
+ private static final DomainList NO_DOMAIN_LIST = null;
private final EventBus eventBus;
@@ -47,7 +49,7 @@ class QuotaThresholdListenersTestSystem {
FileSystem fileSystem = new FileSystemImpl(new JamesServerResourceLoader("."));
QuotaThresholdCrossingListener thresholdCrossingListener =
- new QuotaThresholdCrossingListener(mailetContext, MemoryUsersRepository.withVirtualHosting(), fileSystem, eventStore, configuration);
+ new QuotaThresholdCrossingListener(mailetContext, MemoryUsersRepository.withVirtualHosting(NO_DOMAIN_LIST), fileSystem, eventStore, configuration);
eventBus.register(thresholdCrossingListener);
}
diff --git a/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java b/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java
index 9af1dc6..cc7d8b2 100644
--- a/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java
+++ b/mailbox/plugin/quota-search-elasticsearch/src/test/java/org/apache/james/quota/search/elasticsearch/ElasticSearchQuotaSearchTestSystemExtension.java
@@ -61,11 +61,9 @@ public class ElasticSearchQuotaSearchTestSystemExtension implements ParameterRes
InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources();
- MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting();
-
DNSService dnsService = mock(DNSService.class);
MemoryDomainList domainList = new MemoryDomainList(dnsService);
- usersRepository.setDomainList(domainList);
+ MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
ElasticSearchQuotaMailboxListener listener = new ElasticSearchQuotaMailboxListener(
new ElasticSearchIndexer(client,
diff --git a/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java b/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java
index 325a237..23eb317 100644
--- a/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java
+++ b/mailbox/plugin/quota-search-scanning/src/test/java/org/apache/james/quota/search/scanning/MemoryQuotaSearchTestSystemExtension.java
@@ -46,11 +46,9 @@ public class MemoryQuotaSearchTestSystemExtension implements ParameterResolver {
try {
InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources();
- MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting();
-
DNSService dnsService = mock(DNSService.class);
MemoryDomainList domainList = new MemoryDomainList(dnsService);
- usersRepository.setDomainList(domainList);
+ MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
QuotaComponents quotaComponents = resources.getMailboxManager().getQuotaComponents();
diff --git a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
index 1f5a3b9..d2a2270 100644
--- a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
+++ b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
@@ -26,6 +26,7 @@ import org.apache.commons.configuration2.tree.ImmutableNode;
import org.apache.james.adapter.mailbox.store.UserRepositoryAuthenticator;
import org.apache.james.adapter.mailbox.store.UserRepositoryAuthorizator;
import org.apache.james.core.Username;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.imap.api.ImapConfiguration;
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.decode.ImapDecoder;
@@ -46,6 +47,7 @@ import org.apache.james.mpt.imapmailbox.GrantRightsOnHost;
import org.apache.james.user.memory.MemoryUsersRepository;
public abstract class JamesImapHostSystem implements ImapHostSystem, GrantRightsOnHost {
+ private static final DomainList NO_DOMAIN_LIST = null;
private MemoryUsersRepository memoryUsersRepository;
protected Authorizator authorizator;
@@ -58,7 +60,7 @@ public abstract class JamesImapHostSystem implements ImapHostSystem, GrantRights
@Override
public void beforeTest() throws Exception {
- memoryUsersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ memoryUsersRepository = MemoryUsersRepository.withoutVirtualHosting(NO_DOMAIN_LIST);
try {
memoryUsersRepository.configure(userRepositoryConfiguration());
} catch (ConfigurationException e) {
diff --git a/mpt/impl/managesieve/cassandra/src/test/java/org/apache/james/mpt/managesieve/cassandra/host/CassandraHostSystem.java b/mpt/impl/managesieve/cassandra/src/test/java/org/apache/james/mpt/managesieve/cassandra/host/CassandraHostSystem.java
index cdbbb82..882eb3b 100644
--- a/mpt/impl/managesieve/cassandra/src/test/java/org/apache/james/mpt/managesieve/cassandra/host/CassandraHostSystem.java
+++ b/mpt/impl/managesieve/cassandra/src/test/java/org/apache/james/mpt/managesieve/cassandra/host/CassandraHostSystem.java
@@ -21,6 +21,8 @@ package org.apache.james.mpt.managesieve.cassandra.host;
import org.apache.james.backends.cassandra.CassandraCluster;
import org.apache.james.backends.cassandra.components.CassandraModule;
+import org.apache.james.domainlist.api.DomainList;
+import org.apache.james.domainlist.cassandra.CassandraDomainListModule;
import org.apache.james.mpt.host.JamesManageSieveHostSystem;
import org.apache.james.sieve.cassandra.CassandraActiveScriptDAO;
import org.apache.james.sieve.cassandra.CassandraSieveDAO;
@@ -34,6 +36,7 @@ import org.apache.james.user.cassandra.CassandraUsersRepositoryModule;
import org.apache.james.util.Host;
public class CassandraHostSystem extends JamesManageSieveHostSystem {
+ private static final DomainList NO_DOMAIN_LIST = null;
private final Host cassandraHost;
private CassandraCluster cassandra;
@@ -44,6 +47,7 @@ public class CassandraHostSystem extends JamesManageSieveHostSystem {
@Override
public void beforeTest() throws Exception {
CassandraModule modules = CassandraModule.aggregateModules(
+ CassandraDomainListModule.MODULE,
CassandraSieveRepositoryModule.MODULE,
CassandraUsersRepositoryModule.MODULE);
cassandra = CassandraCluster.create(modules, cassandraHost);
@@ -60,7 +64,7 @@ public class CassandraHostSystem extends JamesManageSieveHostSystem {
@Override
protected UsersRepository createUsersRepository() {
- CassandraUsersRepository cassandraUsersRepository = new CassandraUsersRepository(cassandra.getConf());
+ CassandraUsersRepository cassandraUsersRepository = new CassandraUsersRepository(NO_DOMAIN_LIST, cassandra.getConf());
cassandraUsersRepository.setEnableVirtualHosting(false);
return cassandraUsersRepository;
}
diff --git a/mpt/impl/managesieve/file/src/test/java/org/apache/james/mpt/managesieve/file/host/FileHostSystem.java b/mpt/impl/managesieve/file/src/test/java/org/apache/james/mpt/managesieve/file/host/FileHostSystem.java
index 384c454..f1ee12e 100644
--- a/mpt/impl/managesieve/file/src/test/java/org/apache/james/mpt/managesieve/file/host/FileHostSystem.java
+++ b/mpt/impl/managesieve/file/src/test/java/org/apache/james/mpt/managesieve/file/host/FileHostSystem.java
@@ -26,6 +26,7 @@ import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.io.FileUtils;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.mpt.host.JamesManageSieveHostSystem;
import org.apache.james.sieverepository.api.SieveRepository;
@@ -37,6 +38,7 @@ public class FileHostSystem extends JamesManageSieveHostSystem {
private static final String SIEVE_ROOT = FileSystem.FILE_PROTOCOL + "sieve";
private static final FileSystem fileSystem = getFileSystem();
+ private static final DomainList NO_DOMAIN_LIST = null;
private static FileSystem getFileSystem() {
return new FileSystem() {
@@ -59,7 +61,7 @@ public class FileHostSystem extends JamesManageSieveHostSystem {
@Override
protected UsersRepository createUsersRepository() {
- return MemoryUsersRepository.withoutVirtualHosting();
+ return MemoryUsersRepository.withoutVirtualHosting(NO_DOMAIN_LIST);
}
@Override
diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
index 5914a08..7daf4b5 100644
--- a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
+++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/data/MemoryDataModule.java
@@ -69,17 +69,22 @@ public class MemoryDataModule extends AbstractModule {
bind(MemoryMailRepositoryUrlStore.class).in(Scopes.SINGLETON);
bind(MailRepositoryUrlStore.class).to(MemoryMailRepositoryUrlStore.class);
- bind(MemoryUsersRepository.class).toInstance(MemoryUsersRepository.withVirtualHosting());
- bind(UsersRepository.class).to(MemoryUsersRepository.class);
-
bind(EventSourcingDLPConfigurationStore.class).in(Scopes.SINGLETON);
bind(DLPConfigurationStore.class).to(EventSourcingDLPConfigurationStore.class);
+ bind(UsersRepository.class).to(MemoryUsersRepository.class);
+
bind(MailStoreRepositoryModule.DefaultItemSupplier.class).toInstance(() -> MEMORY_MAILREPOSITORY_DEFAULT_DECLARATION);
}
@Provides
@Singleton
+ public MemoryUsersRepository providesUsersRepository(DomainList domainList) {
+ return MemoryUsersRepository.withVirtualHosting(domainList);
+ }
+
+ @Provides
+ @Singleton
public DomainListConfiguration provideDomainListConfiguration(ConfigurationProvider configurationProvider) {
try {
return DomainListConfiguration.from(configurationProvider.getConfiguration("domainlist"));
diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepository.java b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepository.java
index 2cdcc7c..f1ac2a8 100644
--- a/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepository.java
+++ b/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepository.java
@@ -39,6 +39,7 @@ import javax.inject.Inject;
import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor;
import org.apache.james.core.Username;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.user.api.AlreadyExistInUsersRepositoryException;
import org.apache.james.user.api.UsersRepositoryException;
import org.apache.james.user.api.model.User;
@@ -66,7 +67,8 @@ public class CassandraUsersRepository extends AbstractUsersRepository {
private final PreparedStatement insertStatement;
@Inject
- public CassandraUsersRepository(Session session) {
+ public CassandraUsersRepository(DomainList domainList, Session session) {
+ super(domainList);
this.executor = new CassandraAsyncExecutor(session);
this.getUserStatement = prepareGetUserStatement(session);
this.updateUserStatement = prepareUpdateUserStatement(session);
diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/user/cassandra/CassandraUsersRepositoryTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/user/cassandra/CassandraUsersRepositoryTest.java
index a77e80c..0341928 100644
--- a/server/data/data-cassandra/src/test/java/org/apache/james/user/cassandra/CassandraUsersRepositoryTest.java
+++ b/server/data/data-cassandra/src/test/java/org/apache/james/user/cassandra/CassandraUsersRepositoryTest.java
@@ -28,7 +28,6 @@ import org.junit.Before;
import org.junit.Rule;
public class CassandraUsersRepositoryTest extends AbstractUsersRepositoryTest {
-
@Rule
public DockerCassandraRule cassandraServer = new DockerCassandraRule();
@@ -51,6 +50,6 @@ public class CassandraUsersRepositoryTest extends AbstractUsersRepositoryTest {
@Override
protected AbstractUsersRepository getUsersRepository() {
- return new CassandraUsersRepository(cassandra.getConf());
+ return new CassandraUsersRepository(domainList, cassandra.getConf());
}
}
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java b/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java
index 6308bfe..9eed717 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/user/jpa/JPAUsersRepository.java
@@ -36,6 +36,7 @@ import org.apache.commons.configuration2.HierarchicalConfiguration;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.commons.configuration2.tree.ImmutableNode;
import org.apache.james.core.Username;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.user.api.UsersRepositoryException;
import org.apache.james.user.api.model.User;
import org.apache.james.user.jpa.model.JPAUser;
@@ -55,6 +56,11 @@ public class JPAUsersRepository extends AbstractUsersRepository {
private String algo;
+ @Inject
+ public JPAUsersRepository(DomainList domainList) {
+ super(domainList);
+ }
+
/**
* Sets entity manager.
*
diff --git a/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java b/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java
index acdf0a1..f81f3e2 100644
--- a/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java
+++ b/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java
@@ -45,7 +45,7 @@ public class JpaUsersRepositoryTest extends AbstractUsersRepositoryTest {
@Override
protected AbstractUsersRepository getUsersRepository() throws Exception {
- JPAUsersRepository repos = new JPAUsersRepository();
+ JPAUsersRepository repos = new JPAUsersRepository(domainList);
repos.setEntityManagerFactory(JPA_TEST_CLUSTER.getEntityManagerFactory());
repos.configure(new BaseHierarchicalConfiguration());
return repos;
diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
index 58d17a5..7dfcd17 100644
--- a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
+++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
@@ -41,10 +41,15 @@ import com.google.common.annotations.VisibleForTesting;
public abstract class AbstractUsersRepository implements UsersRepository, Configurable {
- private DomainList domainList;
+ private final DomainList domainList;
private boolean virtualHosting;
private Optional<Username> administratorId;
+ @Inject
+ protected AbstractUsersRepository(DomainList domainList) {
+ this.domainList = domainList;
+ }
+
@Override
public void configure(HierarchicalConfiguration<ImmutableNode> configuration) throws ConfigurationException {
@@ -66,11 +71,6 @@ public abstract class AbstractUsersRepository implements UsersRepository, Config
this.virtualHosting = virtualHosting;
}
- @Inject
- public void setDomainList(DomainList domainList) {
- this.domainList = domainList;
- }
-
@Override
public void assertValid(Username username) throws UsersRepositoryException {
if (supportVirtualHosting()) {
diff --git a/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java b/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java
index 3919ea3..0503efb 100644
--- a/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java
@@ -41,7 +41,7 @@ public abstract class AbstractUsersRepositoryTest {
private static final Domain DOMAIN = Domain.of("domain");
protected AbstractUsersRepository usersRepository;
- private SimpleDomainList domainList;
+ protected SimpleDomainList domainList;
/**
* Create the repository to be tested.
@@ -56,11 +56,10 @@ public abstract class AbstractUsersRepositoryTest {
private Username user3;
private Username admin;
- public void setUp() throws Exception {
- this.usersRepository = getUsersRepository();
+ public void setUp() throws Exception {
domainList = new SimpleDomainList();
domainList.addDomain(DOMAIN);
- usersRepository.setDomainList(domainList);
+ this.usersRepository = getUsersRepository();
user1 = login("username");
user2 = login("username2");
user3 = login("username3");
@@ -382,7 +381,6 @@ public abstract class AbstractUsersRepositoryTest {
@Test
public void getMailAddressForShouldAppendDefaultDomainWhenNoVirtualHosting() throws Exception {
usersRepository.setEnableVirtualHosting(false);
- usersRepository.setDomainList(domainList);
// Some implementations do not support changing virtual hosting value
Assume.assumeFalse(usersRepository.supportVirtualHosting());
diff --git a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
index f7d74c2..7a4de59 100644
--- a/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
+++ b/server/data/data-memory/src/main/java/org/apache/james/user/memory/MemoryUsersRepository.java
@@ -28,6 +28,7 @@ import org.apache.commons.configuration2.HierarchicalConfiguration;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.commons.configuration2.tree.ImmutableNode;
import org.apache.james.core.Username;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.user.api.UsersRepositoryException;
import org.apache.james.user.api.model.User;
import org.apache.james.user.lib.AbstractUsersRepository;
@@ -35,19 +36,20 @@ import org.apache.james.user.lib.model.DefaultUser;
public class MemoryUsersRepository extends AbstractUsersRepository {
- public static MemoryUsersRepository withVirtualHosting() {
- return new MemoryUsersRepository(true);
+ public static MemoryUsersRepository withVirtualHosting(DomainList domainList) {
+ return new MemoryUsersRepository(domainList, true);
}
- public static MemoryUsersRepository withoutVirtualHosting() {
- return new MemoryUsersRepository(false);
+ public static MemoryUsersRepository withoutVirtualHosting(DomainList domainList) {
+ return new MemoryUsersRepository(domainList, false);
}
private final Map<String, User> userByName;
private final boolean supportVirtualHosting;
private String algo;
- private MemoryUsersRepository(boolean supportVirtualHosting) {
+ private MemoryUsersRepository(DomainList domainList, boolean supportVirtualHosting) {
+ super(domainList);
this.userByName = new HashMap<>();
this.algo = "MD5";
this.supportVirtualHosting = supportVirtualHosting;
diff --git a/server/data/data-memory/src/test/java/org/apache/james/user/memory/MemoryUsersRepositoryTest.java b/server/data/data-memory/src/test/java/org/apache/james/user/memory/MemoryUsersRepositoryTest.java
index c0a0aa6..3ac57c5 100644
--- a/server/data/data-memory/src/test/java/org/apache/james/user/memory/MemoryUsersRepositoryTest.java
+++ b/server/data/data-memory/src/test/java/org/apache/james/user/memory/MemoryUsersRepositoryTest.java
@@ -42,12 +42,12 @@ public class MemoryUsersRepositoryTest extends AbstractUsersRepositoryTest {
@Override
protected AbstractUsersRepository getUsersRepository() {
- return MemoryUsersRepository.withVirtualHosting();
+ return MemoryUsersRepository.withVirtualHosting(domainList);
}
@Test
public void assertValidShouldThrowWhenDomainPartAndNoVirtualHosting() {
- MemoryUsersRepository memoryUsersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ MemoryUsersRepository memoryUsersRepository = MemoryUsersRepository.withoutVirtualHosting(domainList);
assertThatThrownBy(() -> memoryUsersRepository.assertValid(Username.of("user@domain.tld")))
.isInstanceOf(UsersRepositoryException.class);
@@ -55,7 +55,7 @@ public class MemoryUsersRepositoryTest extends AbstractUsersRepositoryTest {
@Test
public void assertValidShouldThrowWhenNoDomainPartAndVirtualHosting() {
- MemoryUsersRepository memoryUsersRepository = MemoryUsersRepository.withVirtualHosting();
+ MemoryUsersRepository memoryUsersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
assertThatThrownBy(() -> memoryUsersRepository.assertValid(Username.of("user")))
.isInstanceOf(UsersRepositoryException.class);
@@ -63,15 +63,14 @@ public class MemoryUsersRepositoryTest extends AbstractUsersRepositoryTest {
@Test
public void assertValidShouldNotThrowWhenDomainPartAndVirtualHosting() throws Exception {
- MemoryUsersRepository memoryUsersRepository = MemoryUsersRepository.withVirtualHosting();
-
MemoryDomainList domainList = new MemoryDomainList(new InMemoryDNSService()
.registerMxRecord("localhost", "127.0.0.1")
.registerMxRecord("127.0.0.1", "127.0.0.1"));
domainList.setAutoDetect(false);
domainList.setAutoDetectIP(false);
domainList.addDomain(Domain.of("domain.tld"));
- memoryUsersRepository.setDomainList(domainList);
+
+ MemoryUsersRepository memoryUsersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
assertThatCode(() -> memoryUsersRepository.assertValid(Username.of("user@domain.tld")))
.doesNotThrowAnyException();
@@ -79,14 +78,13 @@ public class MemoryUsersRepositoryTest extends AbstractUsersRepositoryTest {
@Test
public void assertValidShouldNotThrowWhenDomainPartAndDomainNotFound() throws Exception {
- MemoryUsersRepository memoryUsersRepository = MemoryUsersRepository.withVirtualHosting();
-
MemoryDomainList domainList = new MemoryDomainList(new InMemoryDNSService()
.registerMxRecord("localhost", "127.0.0.1")
.registerMxRecord("127.0.0.1", "127.0.0.1"));
domainList.setAutoDetect(false);
domainList.setAutoDetectIP(false);
- memoryUsersRepository.setDomainList(domainList);
+
+ MemoryUsersRepository memoryUsersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
assertThatThrownBy(() -> memoryUsersRepository.assertValid(Username.of("user@domain.tld")))
.isInstanceOf(UsersRepositoryException.class);
@@ -94,7 +92,7 @@ public class MemoryUsersRepositoryTest extends AbstractUsersRepositoryTest {
@Test
public void assertValidShouldNotThrowWhenNoDomainPartAndNoVirtualHosting() {
- MemoryUsersRepository memoryUsersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ MemoryUsersRepository memoryUsersRepository = MemoryUsersRepository.withoutVirtualHosting(domainList);
assertThatCode(() -> memoryUsersRepository.assertValid(Username.of("user")))
.doesNotThrowAnyException();
diff --git a/server/data/data-memory/src/test/java/org/apache/james/user/memory/UsersRepositoryManagementTest.java b/server/data/data-memory/src/test/java/org/apache/james/user/memory/UsersRepositoryManagementTest.java
index a99091b..fb7fa30 100644
--- a/server/data/data-memory/src/test/java/org/apache/james/user/memory/UsersRepositoryManagementTest.java
+++ b/server/data/data-memory/src/test/java/org/apache/james/user/memory/UsersRepositoryManagementTest.java
@@ -25,19 +25,21 @@ import java.util.Arrays;
import java.util.List;
import org.apache.james.core.Username;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.user.api.UsersRepository;
import org.apache.james.user.lib.UsersRepositoryManagement;
import org.junit.Before;
import org.junit.Test;
public class UsersRepositoryManagementTest {
+ private static final DomainList NO_DOMAIN_LIST = null;
private UsersRepository usersRepository;
private UsersRepositoryManagement userManagement;
@Before
public void setUp() throws Exception {
- usersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ usersRepository = MemoryUsersRepository.withoutVirtualHosting(NO_DOMAIN_LIST);
userManagement = new UsersRepositoryManagement();
userManagement.setUsersRepository(usersRepository);
diff --git a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
index 42c3dee..6dccf9c 100644
--- a/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
+++ b/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java
@@ -79,8 +79,7 @@ public class JamesMailetContextTest {
.autoDetectIp(false)
.build());
- usersRepository = MemoryUsersRepository.withVirtualHosting();
- usersRepository.setDomainList(domainList);
+ usersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
MailQueueFactory<MailQueue> mailQueueFactory = mock(MailQueueFactory.class);
spoolMailQueue = mock(MailQueue.class);
when(mailQueueFactory.createQueue(MailQueueFactory.SPOOL)).thenReturn(spoolMailQueue);
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
index 0d9c776..ba840fc 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/SpamAssassinTest.java
@@ -26,6 +26,7 @@ import javax.mail.MessagingException;
import org.apache.james.core.MailAddress;
import org.apache.james.core.builder.MimeMessageBuilder;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.metrics.api.NoopMetricFactory;
import org.apache.james.spamassassin.SpamAssassinResult;
import org.apache.james.spamassassin.mock.MockSpamd;
@@ -43,10 +44,11 @@ import com.github.steveash.guavate.Guavate;
public class SpamAssassinTest {
+ public static final DomainList NO_DOMAIN_LIST = null;
@Rule
public MockSpamdTestRule spamd = new MockSpamdTestRule();
- private SpamAssassin mailet = new SpamAssassin(new NoopMetricFactory(), MemoryUsersRepository.withVirtualHosting());
+ private SpamAssassin mailet = new SpamAssassin(new NoopMetricFactory(), MemoryUsersRepository.withVirtualHosting(NO_DOMAIN_LIST));
@Test
public void initShouldSetDefaultSpamdHostWhenNone() throws Exception {
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithStorageDirectiveTest.java b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithStorageDirectiveTest.java
index 518baab..e2a6a36 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithStorageDirectiveTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/WithStorageDirectiveTest.java
@@ -22,6 +22,7 @@ package org.apache.james.transport.mailets;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.user.memory.MemoryUsersRepository;
import org.apache.mailet.Attribute;
import org.apache.mailet.AttributeName;
@@ -35,6 +36,7 @@ import org.junit.Rule;
import org.junit.Test;
public class WithStorageDirectiveTest {
+ private static final DomainList NO_DOMAIN_LIST = null;
private WithStorageDirective testee;
@@ -43,7 +45,7 @@ public class WithStorageDirectiveTest {
@Before
public void setUp() {
- testee = new WithStorageDirective(MemoryUsersRepository.withVirtualHosting());
+ testee = new WithStorageDirective(MemoryUsersRepository.withVirtualHosting(NO_DOMAIN_LIST));
}
@Test
diff --git a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/JWTAuthenticationStrategyTest.java b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/JWTAuthenticationStrategyTest.java
index 08110c0..733b626 100644
--- a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/JWTAuthenticationStrategyTest.java
+++ b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/JWTAuthenticationStrategyTest.java
@@ -29,6 +29,7 @@ import java.util.stream.Stream;
import javax.servlet.http.HttpServletRequest;
import org.apache.james.core.Username;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.jmap.draft.exceptions.MailboxSessionCreationException;
import org.apache.james.jmap.draft.exceptions.NoValidAuthHeaderException;
import org.apache.james.jmap.draft.utils.HeadersAuthenticationExtractor;
@@ -41,6 +42,7 @@ import org.junit.Before;
import org.junit.Test;
public class JWTAuthenticationStrategyTest {
+ private static final DomainList NO_DOMAIN_LIST = null;
private JWTAuthenticationStrategy testee;
private MailboxManager mockedMailboxManager;
@@ -54,7 +56,7 @@ public class JWTAuthenticationStrategyTest {
mockedMailboxManager = mock(MailboxManager.class);
mockAuthenticationExtractor = mock(HeadersAuthenticationExtractor.class);
request = mock(HttpServletRequest.class);
- MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting(NO_DOMAIN_LIST);
testee = new JWTAuthenticationStrategy(stubTokenVerifier, mockedMailboxManager, mockAuthenticationExtractor, usersRepository);
}
diff --git a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/UserProvisioningFilterTest.java b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/UserProvisioningFilterTest.java
index 5b03808..3fec2ca 100644
--- a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/UserProvisioningFilterTest.java
+++ b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/UserProvisioningFilterTest.java
@@ -35,6 +35,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.james.core.Username;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MailboxSessionUtil;
import org.apache.james.metrics.api.NoopMetricFactory;
@@ -47,6 +48,7 @@ import org.junit.Test;
public class UserProvisioningFilterTest {
private static final Username USERNAME = Username.of("username");
private static final Username USERNAME_WITH_DOMAIN = Username.of("username@james.org");
+ private static final DomainList NO_DOMAIN_LIST = null;
private UserProvisioningFilter sut;
private MemoryUsersRepository usersRepository;
@@ -56,7 +58,7 @@ public class UserProvisioningFilterTest {
@Before
public void setup() throws Exception {
- usersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ usersRepository = MemoryUsersRepository.withoutVirtualHosting(NO_DOMAIN_LIST);
sut = new UserProvisioningFilter(usersRepository, new NoopMetricFactory());
request = mock(HttpServletRequest.class);
response = mock(HttpServletResponse.class);
diff --git a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/UserProvisioningFilterThreadTest.java b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/UserProvisioningFilterThreadTest.java
index ce96d1d..43b3984 100644
--- a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/UserProvisioningFilterThreadTest.java
+++ b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/draft/UserProvisioningFilterThreadTest.java
@@ -22,7 +22,7 @@ import java.time.Duration;
import java.util.concurrent.ExecutionException;
import org.apache.james.core.Username;
-import org.apache.james.jmap.draft.UserProvisioningFilter;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MailboxSessionUtil;
import org.apache.james.metrics.api.NoopMetricFactory;
@@ -32,6 +32,7 @@ import org.junit.Before;
import org.junit.Test;
public class UserProvisioningFilterThreadTest {
+ private static final DomainList NO_DOMAIN_LIST = null;
private UserProvisioningFilter sut;
private MemoryUsersRepository usersRepository;
@@ -39,7 +40,7 @@ public class UserProvisioningFilterThreadTest {
@Before
public void before() {
- usersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ usersRepository = MemoryUsersRepository.withoutVirtualHosting(NO_DOMAIN_LIST);
session = MailboxSessionUtil.create(Username.of("username"));
sut = new UserProvisioningFilter(usersRepository, new NoopMetricFactory());
}
diff --git a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java
index 72da3c9..4232100 100644
--- a/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java
+++ b/server/protocols/jmap-draft/src/test/java/org/apache/james/jmap/mailet/filter/JMAPFilteringExtension.java
@@ -32,6 +32,7 @@ import javax.mail.MessagingException;
import org.apache.james.core.Username;
import org.apache.james.core.builder.MimeMessageBuilder;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.eventsourcing.eventstore.memory.InMemoryEventStore;
import org.apache.james.jmap.api.filtering.FilteringManagement;
import org.apache.james.jmap.api.filtering.Rule;
@@ -53,6 +54,7 @@ import org.junit.jupiter.api.extension.ParameterResolver;
import com.google.common.collect.ImmutableList;
public class JMAPFilteringExtension implements BeforeEachCallback, ParameterResolver {
+ private static final DomainList NO_DOMAIN_LIST = null;
class JMAPFilteringTestSystem {
@@ -130,7 +132,7 @@ public class JMAPFilteringExtension implements BeforeEachCallback, ParameterReso
@Override
public void beforeEach(ExtensionContext extensionContext) {
FilteringManagement filteringManagement = new EventSourcingFilteringManagement(new InMemoryEventStore());
- MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting(NO_DOMAIN_LIST);
InMemoryMailboxManager mailboxManager = InMemoryIntegrationResources.defaultResources().getMailboxManager();
ActionApplier.Factory actionApplierFactory = ActionApplier.factory(mailboxManager, new InMemoryId.Factory());
diff --git a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
index 6e7083c..00d6d96 100644
--- a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
+++ b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
@@ -31,6 +31,7 @@ import org.apache.commons.net.pop3.POP3Client;
import org.apache.commons.net.pop3.POP3MessageInfo;
import org.apache.commons.net.pop3.POP3Reply;
import org.apache.james.core.Username;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.filesystem.api.mock.MockFileSystem;
import org.apache.james.mailbox.MailboxManager;
@@ -48,7 +49,6 @@ import org.apache.james.protocols.lib.mock.MockProtocolHandlerLoader;
import org.apache.james.user.api.UsersRepository;
import org.apache.james.user.api.UsersRepositoryException;
import org.apache.james.user.memory.MemoryUsersRepository;
-
import org.jboss.netty.util.HashedWheelTimer;
import org.junit.After;
import org.junit.Before;
@@ -56,9 +56,10 @@ import org.junit.Ignore;
import org.junit.Test;
public class POP3ServerTest {
+ private static final DomainList NO_DOMAIN_LIST = null;
private POP3TestConfiguration pop3Configuration;
- private final MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ private final MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting(NO_DOMAIN_LIST);
private POP3Client pop3Client = null;
protected MockFileSystem fileSystem;
protected MockProtocolHandlerLoader protocolHandlerChain;
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
index b0c094d..2bed383 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
@@ -171,11 +171,12 @@ public class SMTPServerTest {
private static final long HALF_SECOND = 500;
private static final int MAX_ITERATIONS = 10;
+ private static final DomainList NO_DOMAIN_LIST = null;
private static final Logger LOGGER = LoggerFactory.getLogger(SMTPServerTest.class);
protected SMTPTestConfiguration smtpConfiguration;
protected HashedWheelTimer hashedWheelTimer;
- protected final MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ protected final MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting(NO_DOMAIN_LIST);
protected AlterableDNSServer dnsServer;
protected MemoryMailRepositoryStore mailRepositoryStore;
protected FileSystemImpl fileSystem;
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/AliasRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/AliasRoutesTest.java
index 57f6809..64ebf18 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/AliasRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/AliasRoutesTest.java
@@ -116,8 +116,7 @@ class AliasRoutesTest {
MappingSourceModule module = new MappingSourceModule();
memoryRecipientRewriteTable.setDomainList(domainList);
- usersRepository = MemoryUsersRepository.withVirtualHosting();
- usersRepository.setDomainList(domainList);
+ usersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
usersRepository.configure(new BaseHierarchicalConfiguration());
usersRepository.addUser(Username.of(BOB), BOB_PASSWORD);
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java
index 51b18b2..27c8ec9 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/ForwardRoutesTest.java
@@ -115,8 +115,7 @@ class ForwardRoutesTest {
memoryRecipientRewriteTable.setDomainList(domainList);
MappingSourceModule mappingSourceModule = new MappingSourceModule();
- usersRepository = MemoryUsersRepository.withVirtualHosting();
- usersRepository.setDomainList(domainList);
+ usersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
usersRepository.configure(new BaseHierarchicalConfiguration());
usersRepository.addUser(Username.of(BOB), BOB_PASSWORD);
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
index 910121f..6c2f9c7 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/GroupsRoutesTest.java
@@ -107,8 +107,7 @@ class GroupsRoutesTest {
domainList.addDomain(DOMAIN);
domainList.addDomain(ALIAS_DOMAIN);
memoryRecipientRewriteTable.setDomainList(domainList);
- usersRepository = MemoryUsersRepository.withVirtualHosting();
- usersRepository.setDomainList(domainList);
+ usersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
MappingSourceModule mappingSourceModule = new MappingSourceModule();
createServer(new GroupsRoutes(memoryRecipientRewriteTable, usersRepository, new JsonTransformer(mappingSourceModule)));
}
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveQuotaRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveQuotaRoutesTest.java
index 759b556..d256947 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveQuotaRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveQuotaRoutesTest.java
@@ -25,6 +25,7 @@ import static org.hamcrest.Matchers.is;
import org.apache.james.core.Username;
import org.apache.james.core.quota.QuotaSizeLimit;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.sieverepository.api.SieveQuotaRepository;
import org.apache.james.sieverepository.memory.InMemorySieveQuotaRepository;
import org.apache.james.user.api.UsersRepositoryException;
@@ -45,6 +46,7 @@ class SieveQuotaRoutesTest {
private static final String USER_NAME_A = "userA";
private static final String PASSWORD_A = "123456";
private static final Username USERNAME_A = Username.of(USER_NAME_A);
+ private static final DomainList NO_DOMAIN_LIST = null;
private WebAdminServer webAdminServer;
private SieveQuotaRepository sieveRepository;
@@ -53,7 +55,7 @@ class SieveQuotaRoutesTest {
void setUp() throws UsersRepositoryException {
sieveRepository = new InMemorySieveQuotaRepository();
- MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting(NO_DOMAIN_LIST);
usersRepository.addUser(Username.of(USER_NAME_A), PASSWORD_A);
webAdminServer = WebAdminUtils.createWebAdminServer(new SieveQuotaRoutes(sieveRepository, usersRepository, new JsonTransformer()))
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveScriptRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveScriptRoutesTest.java
index 7570b23..f103643 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveScriptRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/SieveScriptRoutesTest.java
@@ -34,6 +34,7 @@ import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
import org.apache.james.core.Username;
+import org.apache.james.domainlist.api.DomainList;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.junit.TemporaryFolderExtension;
import org.apache.james.sieverepository.api.ScriptContent;
@@ -55,6 +56,7 @@ import io.restassured.RestAssured;
@ExtendWith(TemporaryFolderExtension.class)
class SieveScriptRoutesTest {
+ private static final DomainList NO_DOMAIN_LIST = null;
private WebAdminServer webAdminServer;
private SieveRepository sieveRepository;
@@ -80,7 +82,7 @@ class SieveScriptRoutesTest {
};
sieveRepository = new SieveFileRepository(fileSystem);
- UsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ UsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting(NO_DOMAIN_LIST);
usersRepository.addUser(Username.of("userA"), "password");
URL sieveResource = ClassLoader.getSystemResource("sieve/my_sieve");
diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UserRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UserRoutesTest.java
index 34a59a2..fc83f11 100644
--- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UserRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/UserRoutesTest.java
@@ -68,31 +68,34 @@ class UserRoutesTest {
private static class UserRoutesExtension implements BeforeEachCallback, AfterEachCallback, ParameterResolver {
static UserRoutesExtension withVirtualHosting() {
- return new UserRoutesExtension(MemoryUsersRepository.withVirtualHosting());
+ SimpleDomainList domainList = new SimpleDomainList();
+ return new UserRoutesExtension(MemoryUsersRepository.withVirtualHosting(domainList), domainList);
}
+
static UserRoutesExtension withoutVirtualHosting() {
- return new UserRoutesExtension(MemoryUsersRepository.withoutVirtualHosting());
+ SimpleDomainList domainList = new SimpleDomainList();
+ return new UserRoutesExtension(MemoryUsersRepository.withoutVirtualHosting(domainList), domainList);
}
final MemoryUsersRepository usersRepository;
+ final SimpleDomainList domainList;
WebAdminServer webAdminServer;
- UserRoutesExtension(MemoryUsersRepository usersRepository) {
+ UserRoutesExtension(MemoryUsersRepository usersRepository, SimpleDomainList domainList) {
this.usersRepository = spy(usersRepository);
+ this.domainList = domainList;
}
@Override
public void beforeEach(ExtensionContext extensionContext) throws Exception {
- DomainList domainList = new SimpleDomainList();
domainList.addDomain(DOMAIN);
- usersRepository.setDomainList(domainList);
webAdminServer = startServer(usersRepository);
}
@Override
- public void afterEach(ExtensionContext extensionContext) throws Exception {
+ public void afterEach(ExtensionContext extensionContext) {
webAdminServer.destroy();
}
diff --git a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java
index 1049075..6cb20b1 100644
--- a/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailbox-deleted-message-vault/src/test/java/org/apache/james/webadmin/vault/routes/DeletedMessagesVaultRoutesTest.java
@@ -210,8 +210,7 @@ class DeletedMessagesVaultRoutesTest {
.autoDetectIp(false));
domainList.addDomain(DOMAIN);
- MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting();
- usersRepository.setDomainList(domainList);
+ MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
usersRepository.configure(new BaseHierarchicalConfiguration());
usersRepository.addUser(USERNAME, "userPassword");
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesNoVirtualHostingTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesNoVirtualHostingTest.java
index 1fc9ffc..1d77722 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesNoVirtualHostingTest.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/DomainQuotaRoutesNoVirtualHostingTest.java
@@ -57,7 +57,7 @@ class DomainQuotaRoutesNoVirtualHostingTest {
memoryDomainList.addDomain(Domain.of(FOUND_LOCAL));
DomainQuotaService domainQuotaService = new DomainQuotaService(maxQuotaManager);
QuotaModule quotaModule = new QuotaModule();
- MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting();
+ MemoryUsersRepository usersRepository = MemoryUsersRepository.withoutVirtualHosting(memoryDomainList);
DomainQuotaRoutes domainQuotaRoutes = new DomainQuotaRoutes(memoryDomainList, domainQuotaService, usersRepository, new JsonTransformer(quotaModule), ImmutableSet.of(quotaModule));
webAdminServer = WebAdminUtils.createWebAdminServer(domainQuotaRoutes)
.start();
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java
index 5cbe210..e57771f 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java
@@ -69,11 +69,10 @@ public class ElasticSearchQuotaSearchExtension implements ParameterResolver, Bef
InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources();
- MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting();
DNSService dnsService = mock(DNSService.class);
MemoryDomainList domainList = new MemoryDomainList(dnsService);
- usersRepository.setDomainList(domainList);
+ MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
ElasticSearchQuotaMailboxListener listener = new ElasticSearchQuotaMailboxListener(
new ElasticSearchIndexer(client, QuotaRatioElasticSearchConstants.DEFAULT_QUOTA_RATIO_WRITE_ALIAS),
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 51bddb4..997476c 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
@@ -47,14 +47,13 @@ public class ScanningQuotaSearchExtension implements ParameterResolver, BeforeEa
try {
InMemoryIntegrationResources resources = InMemoryIntegrationResources.defaultResources();
- MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting();
DNSService dnsService = mock(DNSService.class);
MemoryDomainList domainList = new MemoryDomainList(dnsService);
domainList.configure(DomainListConfiguration.builder()
.autoDetect(false)
.autoDetectIp(false));
- usersRepository.setDomainList(domainList);
+ MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
QuotaComponents quotaComponents = resources.getMailboxManager().getQuotaComponents();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org