JAMES-1709 Allow to add domain from an ENV variable
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/6e36b22f Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/6e36b22f Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/6e36b22f Branch: refs/heads/master Commit: 6e36b22fa812c3af7ac01c3ecd8b73a337a9941e Parents: ff51cee Author: benwa <btell...@linagora.com> Authored: Fri Jul 28 17:36:57 2017 +0700 Committer: benwa <btell...@linagora.com> Committed: Tue Aug 8 17:08:50 2017 +0700 ---------------------------------------------------------------------- .../META-INF/org/apache/james/spring-server.xml | 2 ++ .../cassandra/CassandraDomainList.java | 9 ++++--- .../cassandra/CassandraDomainListTest.java | 3 +-- .../james/domainlist/xml/XMLDomainList.java | 8 ++++++ .../james/domainlist/hbase/HBaseDomainList.java | 9 +++++++ .../domainlist/hbase/HBaseDomainListTest.java | 4 +-- .../james/domainlist/jpa/JPADomainList.java | 8 ++++++ .../james/domainlist/jpa/JPADomainListTest.java | 7 +++--- .../domainlist/lib/AbstractDomainList.java | 26 +++++++++++++++++--- .../james/domainlist/lib/EnvDetector.java | 26 ++++++++++++++++++++ .../AbstractDomainListPrivateMethodsTest.java | 24 ++++++++++++++---- .../domainlist/memory/MemoryDomainList.java | 8 +++++- .../domainlist/memory/MemoryDomainListTest.java | 4 +-- .../impl/JamesMailetContextTest.java | 5 +++- .../james/webadmin/routes/DomainRoutesTest.java | 4 +-- 15 files changed, 122 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml ---------------------------------------------------------------------- diff --git a/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml b/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml index 322c4c6..cf5b986 100644 --- a/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml +++ b/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml @@ -316,4 +316,6 @@ <bean id="jspfLogger" class="org.apache.james.smtpserver.fastfail.SPFHandler.SPFLogger"/> + <bean id="envDetector" class="org.apache.james.domainlist.lib.EnvDetector"/> + </beans> http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java ---------------------------------------------------------------------- diff --git a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java index ae889aa..1619f9e 100644 --- a/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java +++ b/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java @@ -35,8 +35,10 @@ import javax.inject.Inject; import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor; import org.apache.james.backends.cassandra.utils.CassandraUtils; +import org.apache.james.dnsservice.api.DNSService; import org.apache.james.domainlist.api.DomainListException; import org.apache.james.domainlist.lib.AbstractDomainList; +import org.apache.james.domainlist.lib.EnvDetector; import com.datastax.driver.core.PreparedStatement; import com.datastax.driver.core.Session; @@ -52,7 +54,8 @@ public class CassandraDomainList extends AbstractDomainList { private final PreparedStatement removeStatement; @Inject - public CassandraDomainList(Session session, CassandraUtils cassandraUtils) { + public CassandraDomainList(DNSService dnsService, EnvDetector envDetector, Session session, CassandraUtils cassandraUtils) { + super(dnsService, envDetector); this.executor = new CassandraAsyncExecutor(session); this.cassandraUtils = cassandraUtils; this.readAllStatement = prepareReadAllStatement(session); @@ -86,8 +89,8 @@ public class CassandraDomainList extends AbstractDomainList { } @VisibleForTesting - CassandraDomainList(Session session) { - this(session, CassandraUtils.WITH_DEFAULT_CONFIGURATION); + CassandraDomainList(DNSService dnsService, Session session) { + this(dnsService, new EnvDetector(), session, CassandraUtils.WITH_DEFAULT_CONFIGURATION); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java b/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java index 411aa1b..89c0438 100644 --- a/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java +++ b/server/data/data-cassandra/src/test/java/org/apache/james/domainlist/cassandra/CassandraDomainListTest.java @@ -31,9 +31,8 @@ public class CassandraDomainListTest extends AbstractDomainListTest { @Override protected DomainList createDomainList() { cassandra = CassandraCluster.create(new CassandraDomainListModule()); - CassandraDomainList testee = new CassandraDomainList(cassandra.getConf()); + CassandraDomainList testee = new CassandraDomainList(getDNSServer("localhost"), cassandra.getConf()); testee.setLog(LoggerFactory.getLogger(getClass())); - testee.setDNSService(getDNSServer("localhost")); testee.setAutoDetect(false); testee.setAutoDetectIP(false); return testee; http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java ---------------------------------------------------------------------- diff --git a/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java b/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java index 6848ab5..813f521 100644 --- a/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java +++ b/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java @@ -23,12 +23,15 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; +import javax.inject.Inject; import javax.inject.Singleton; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.HierarchicalConfiguration; +import org.apache.james.dnsservice.api.DNSService; import org.apache.james.domainlist.api.DomainListException; import org.apache.james.domainlist.lib.AbstractDomainList; +import org.apache.james.domainlist.lib.EnvDetector; import org.apache.james.lifecycle.api.Configurable; /** @@ -40,6 +43,11 @@ public class XMLDomainList extends AbstractDomainList implements Configurable { private final List<String> domainNames = new ArrayList<String>(); private boolean isConfigured = false; + @Inject + public XMLDomainList(DNSService dns, EnvDetector envDetector) { + super(dns, envDetector); + } + @Override public void configure(HierarchicalConfiguration config) throws ConfigurationException { super.configure(config); http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java ---------------------------------------------------------------------- diff --git a/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java b/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java index dbeb21b..6e24ced 100644 --- a/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java +++ b/server/data/data-hbase/src/main/java/org/apache/james/domainlist/hbase/HBaseDomainList.java @@ -23,6 +23,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; +import javax.inject.Inject; + import org.apache.hadoop.hbase.client.Delete; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.HTableInterface; @@ -31,9 +33,11 @@ import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.util.Bytes; +import org.apache.james.dnsservice.api.DNSService; import org.apache.james.domainlist.api.DomainListException; import org.apache.james.domainlist.hbase.def.HDomainList; import org.apache.james.domainlist.lib.AbstractDomainList; +import org.apache.james.domainlist.lib.EnvDetector; import org.apache.james.system.hbase.TablePool; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -48,6 +52,11 @@ public class HBaseDomainList extends AbstractDomainList { */ private static final Logger log = LoggerFactory.getLogger(HBaseDomainList.class.getName()); + @Inject + public HBaseDomainList(DNSService dns, EnvDetector envDetector) { + super(dns, envDetector); + } + /** * @see org.apache.james.domainlist.api.DomainList#containsDomain(String) */ http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-hbase/src/test/java/org/apache/james/domainlist/hbase/HBaseDomainListTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-hbase/src/test/java/org/apache/james/domainlist/hbase/HBaseDomainListTest.java b/server/data/data-hbase/src/test/java/org/apache/james/domainlist/hbase/HBaseDomainListTest.java index 97e71d6..bcb38c5 100644 --- a/server/data/data-hbase/src/test/java/org/apache/james/domainlist/hbase/HBaseDomainListTest.java +++ b/server/data/data-hbase/src/test/java/org/apache/james/domainlist/hbase/HBaseDomainListTest.java @@ -22,6 +22,7 @@ import java.io.IOException; import org.apache.james.domainlist.api.DomainList; import org.apache.james.domainlist.api.DomainListException; import org.apache.james.domainlist.lib.AbstractDomainListTest; +import org.apache.james.domainlist.lib.EnvDetector; import org.apache.james.mailbox.hbase.HBaseClusterSingleton; import org.apache.james.system.hbase.TablePool; import org.junit.BeforeClass; @@ -49,9 +50,8 @@ public class HBaseDomainListTest extends AbstractDomainListTest { */ @Override protected DomainList createDomainList() { - HBaseDomainList domainList = new HBaseDomainList(); + HBaseDomainList domainList = new HBaseDomainList(getDNSServer("localhost"), new EnvDetector()); domainList.setLog(LoggerFactory.getLogger("MockLog")); - domainList.setDNSService(getDNSServer("localhost")); domainList.setAutoDetect(false); domainList.setAutoDetectIP(false); return domainList; http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java ---------------------------------------------------------------------- diff --git a/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java b/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java index af9ea44..03fdfdd 100644 --- a/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java +++ b/server/data/data-jpa/src/main/java/org/apache/james/domainlist/jpa/JPADomainList.java @@ -31,9 +31,11 @@ import javax.persistence.NoResultException; import javax.persistence.PersistenceException; import javax.persistence.PersistenceUnit; +import org.apache.james.dnsservice.api.DNSService; import org.apache.james.domainlist.api.DomainListException; import org.apache.james.domainlist.jpa.model.JPADomain; import org.apache.james.domainlist.lib.AbstractDomainList; +import org.apache.james.domainlist.lib.EnvDetector; import com.google.common.collect.ImmutableList; @@ -49,6 +51,12 @@ public class JPADomainList extends AbstractDomainList { */ private EntityManagerFactory entityManagerFactory; + @Inject + public JPADomainList(DNSService dns, EnvDetector envDetector, EntityManagerFactory entityManagerFactory) { + super(dns, envDetector); + this.entityManagerFactory = entityManagerFactory; + } + /** * Set the entity manager to use. * http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java b/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java index 6e5d9a0..8c225f5 100644 --- a/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java +++ b/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java @@ -22,6 +22,7 @@ import org.apache.james.backends.jpa.JpaTestCluster; import org.apache.james.domainlist.api.DomainList; import org.apache.james.domainlist.jpa.model.JPADomain; import org.apache.james.domainlist.lib.AbstractDomainListTest; +import org.apache.james.domainlist.lib.EnvDetector; import org.slf4j.LoggerFactory; /** @@ -33,12 +34,12 @@ public class JPADomainListTest extends AbstractDomainListTest { @Override protected DomainList createDomainList() { - JPADomainList jpaDomainList = new JPADomainList(); + JPADomainList jpaDomainList = new JPADomainList(getDNSServer("localhost"), + new EnvDetector(), + JPA_TEST_CLUSTER.getEntityManagerFactory()); jpaDomainList.setLog(LoggerFactory.getLogger("JPADomainListMockLog")); - jpaDomainList.setDNSService(getDNSServer("localhost")); jpaDomainList.setAutoDetect(false); jpaDomainList.setAutoDetectIP(false); - jpaDomainList.setEntityManagerFactory(JPA_TEST_CLUSTER.getEntityManagerFactory()); return jpaDomainList; } http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java index d2b564c..c08abbe 100644 --- a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java +++ b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java @@ -39,6 +39,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Strings; +import com.google.common.base.Throwables; import com.google.common.collect.ImmutableList; /** @@ -53,16 +55,19 @@ public abstract class AbstractDomainList implements DomainList, LogEnabled, Conf public static final String CONFIGURE_AUTODETECT = "autodetect"; public static final String CONFIGURE_AUTODETECT_IP = "autodetectIP"; public static final String CONFIGURE_DEFAULT_DOMAIN = "defaultDomain"; + public static final String ENV_DOMAIN = "DOMAIN"; - private DNSService dns; + private final DNSService dns; + private final EnvDetector envDetector; private boolean autoDetect = true; private boolean autoDetectIP = true; private Logger logger; private String defaultDomain; @Inject - public void setDNSService(DNSService dns) { + public AbstractDomainList(DNSService dns, EnvDetector envDetector) { this.dns = dns; + this.envDetector = envDetector; } public void setLog(Logger logger) { @@ -77,12 +82,25 @@ public abstract class AbstractDomainList implements DomainList, LogEnabled, Conf public void configure(HierarchicalConfiguration config) throws ConfigurationException { configureDefaultDomain(config); + addEnvDomain(); + setAutoDetect(config.getBoolean(CONFIGURE_AUTODETECT, true)); setAutoDetectIP(config.getBoolean(CONFIGURE_AUTODETECT_IP, true)); } + private void addEnvDomain() { + String envDomain = envDetector.getEnv(ENV_DOMAIN); + if (!Strings.isNullOrEmpty(envDomain)) { + try { + LOGGER.info("Adding environment defined domain {}", envDomain); + addDomain(envDomain); + } catch (DomainListException e) { + throw Throwables.propagate(e); + } + } + } + @VisibleForTesting void configureDefaultDomain(HierarchicalConfiguration config) throws ConfigurationException { - try { setDefaultDomain(config.getString(CONFIGURE_DEFAULT_DOMAIN, LOCALHOST)); @@ -133,7 +151,7 @@ public abstract class AbstractDomainList implements DomainList, LogEnabled, Conf mutableDomains.addAll(detectedDomains); mutableDomains.addAll(detectIps(mutableDomains)); - if (getLogger().isInfoEnabled()) { + if (getLogger().isDebugEnabled()) { for (String domain : mutableDomains) { getLogger().debug("Handling mail for: " + domain); } http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/EnvDetector.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/EnvDetector.java b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/EnvDetector.java new file mode 100644 index 0000000..9410295 --- /dev/null +++ b/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/EnvDetector.java @@ -0,0 +1,26 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ + +package org.apache.james.domainlist.lib; + +public class EnvDetector { + public String getEnv(String variableName) { + return System.getenv(variableName); + } +} http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java b/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java index 5098c08..9f6de93 100644 --- a/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java +++ b/server/data/data-library/src/test/java/org/apache/james/domainlist/lib/AbstractDomainListPrivateMethodsTest.java @@ -45,12 +45,13 @@ public class AbstractDomainListPrivateMethodsTest { public static final Logger LOGGER = LoggerFactory.getLogger(AbstractDomainListPrivateMethodsTest.class); private MyDomainList domainList; private DNSService dnsService; + private EnvDetector envDetector; @Before public void setup() { - domainList = new MyDomainList(); dnsService = mock(DNSService.class); - domainList.setDNSService(dnsService); + envDetector = mock(EnvDetector.class); + domainList = new MyDomainList(dnsService, envDetector); domainList.setLog(LOGGER); } @@ -58,8 +59,9 @@ public class AbstractDomainListPrivateMethodsTest { private List<String> domains; - public MyDomainList() { - domains = Lists.newArrayList(); + public MyDomainList(DNSService dns, EnvDetector envDetector) { + super(dns, envDetector); + this.domains = Lists.newArrayList(); } @Override @@ -307,7 +309,6 @@ public class AbstractDomainListPrivateMethodsTest { when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT, true)).thenReturn(true); when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT_IP, true)).thenReturn(false); - domainList.setLog(LOGGER); domainList.configure(configuration); String detected = "detected.tld"; @@ -316,4 +317,17 @@ public class AbstractDomainListPrivateMethodsTest { assertThat(domainList.containsDomain(detected)).isTrue(); } + @Test + public void envDomainShouldBeAddedUponConfiguration() throws Exception { + String envDomain = "env.tld"; + when(envDetector.getEnv(AbstractDomainList.ENV_DOMAIN)).thenReturn(envDomain); + + HierarchicalConfiguration configuration = mock(HierarchicalConfiguration.class); + when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT, true)).thenReturn(true); + when(configuration.getBoolean(AbstractDomainList.CONFIGURE_AUTODETECT_IP, true)).thenReturn(false); + domainList.configure(configuration); + + assertThat(domainList.containsDomain(envDomain)).isTrue(); + } + } http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java ---------------------------------------------------------------------- diff --git a/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java b/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java index 5e135f7..d6c9033 100644 --- a/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java +++ b/server/data/data-memory/src/main/java/org/apache/james/domainlist/memory/MemoryDomainList.java @@ -23,8 +23,12 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; +import javax.inject.Inject; + +import org.apache.james.dnsservice.api.DNSService; import org.apache.james.domainlist.api.DomainListException; import org.apache.james.domainlist.lib.AbstractDomainList; +import org.apache.james.domainlist.lib.EnvDetector; import com.google.common.collect.ImmutableList; @@ -32,7 +36,9 @@ public class MemoryDomainList extends AbstractDomainList { private final List<String> domains; - public MemoryDomainList() { + @Inject + public MemoryDomainList(DNSService dns, EnvDetector envDetector) { + super(dns, envDetector); this.domains = new ArrayList<String>(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/data/data-memory/src/test/java/org/apache/james/domainlist/memory/MemoryDomainListTest.java ---------------------------------------------------------------------- diff --git a/server/data/data-memory/src/test/java/org/apache/james/domainlist/memory/MemoryDomainListTest.java b/server/data/data-memory/src/test/java/org/apache/james/domainlist/memory/MemoryDomainListTest.java index d23f6ef..0766c94 100644 --- a/server/data/data-memory/src/test/java/org/apache/james/domainlist/memory/MemoryDomainListTest.java +++ b/server/data/data-memory/src/test/java/org/apache/james/domainlist/memory/MemoryDomainListTest.java @@ -21,15 +21,15 @@ package org.apache.james.domainlist.memory; import org.apache.james.domainlist.api.DomainList; import org.apache.james.domainlist.lib.AbstractDomainListTest; +import org.apache.james.domainlist.lib.EnvDetector; import org.slf4j.LoggerFactory; public class MemoryDomainListTest extends AbstractDomainListTest { @Override protected DomainList createDomainList() { - MemoryDomainList testee = new MemoryDomainList(); + MemoryDomainList testee = new MemoryDomainList(getDNSServer("localhost"), new EnvDetector()); testee.setLog(LoggerFactory.getLogger(getClass())); - testee.setDNSService(getDNSServer("localhost")); testee.setAutoDetect(false); testee.setAutoDetectIP(false); return testee; http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/mailet/mailetcontainer-camel/src/test/java/org/apache/james/mailetcontainer/impl/JamesMailetContextTest.java ---------------------------------------------------------------------- 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 a70d8a9..ab0dc93 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 @@ -26,6 +26,8 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import org.apache.commons.configuration.HierarchicalConfiguration; +import org.apache.james.dnsservice.api.DNSService; +import org.apache.james.domainlist.lib.EnvDetector; import org.apache.james.domainlist.memory.MemoryDomainList; import org.apache.james.user.memory.MemoryUsersRepository; import org.apache.mailet.MailAddress; @@ -41,6 +43,7 @@ public class JamesMailetContextTest { public static final String USERNAME = "user"; public static final String USERMAIL = USERNAME + "@" + DOMAIN_COM; public static final String PASSWORD = "password"; + public static final DNSService DNS_SERVICE = null; private MemoryDomainList domainList; private MemoryUsersRepository usersRepository; @@ -49,7 +52,7 @@ public class JamesMailetContextTest { @Before public void setUp() throws Exception { - domainList = new MemoryDomainList(); + domainList = new MemoryDomainList(DNS_SERVICE, new EnvDetector()); domainList.setLog(LOGGER); usersRepository = MemoryUsersRepository.withVirtualHosting(); usersRepository.setDomainList(domainList); http://git-wip-us.apache.org/repos/asf/james-project/blob/6e36b22f/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainRoutesTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainRoutesTest.java index 1df89d2..c30b106 100644 --- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainRoutesTest.java +++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainRoutesTest.java @@ -38,6 +38,7 @@ import java.net.InetAddress; import org.apache.james.dnsservice.api.DNSService; import org.apache.james.domainlist.api.DomainList; import org.apache.james.domainlist.api.DomainListException; +import org.apache.james.domainlist.lib.EnvDetector; import org.apache.james.domainlist.memory.MemoryDomainList; import org.apache.james.metrics.logger.DefaultMetricFactory; import org.apache.james.webadmin.WebAdminServer; @@ -94,8 +95,7 @@ public class DomainRoutesTest { when(dnsService.getHostName(any())).thenReturn("localhost"); when(dnsService.getLocalHost()).thenReturn(InetAddress.getByName("localhost")); - MemoryDomainList domainList = new MemoryDomainList(); - domainList.setDNSService(dnsService); + MemoryDomainList domainList = new MemoryDomainList(dnsService, new EnvDetector()); domainList.setLog(LOGGER); domainList.setAutoDetectIP(false); createServer(domainList); --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org