You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/08/08 10:46:40 UTC
[05/10] james-project git commit: JAMES-1589 Add default domain when
missing
JAMES-1589 Add default domain when missing
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2bbfdcfb
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2bbfdcfb
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2bbfdcfb
Branch: refs/heads/master
Commit: 2bbfdcfbafe7efb3bfb6321581624dae3b1a68ca
Parents: 975fcf1
Author: benwa <bt...@linagora.com>
Authored: Fri Jul 28 15:09:26 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Tue Aug 8 17:08:50 2017 +0700
----------------------------------------------------------------------
.../james/domainlist/xml/XMLDomainListTest.java | 35 ++++++++++----------
.../domainlist/lib/AbstractDomainList.java | 2 +-
.../AbstractDomainListPrivateMethodsTest.java | 25 ++++++++++++++
3 files changed, 43 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/2bbfdcfb/server/data/data-file/src/test/java/org/apache/james/domainlist/xml/XMLDomainListTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/test/java/org/apache/james/domainlist/xml/XMLDomainListTest.java b/server/data/data-file/src/test/java/org/apache/james/domainlist/xml/XMLDomainListTest.java
index 68e5363..d1b2d6b 100644
--- a/server/data/data-file/src/test/java/org/apache/james/domainlist/xml/XMLDomainListTest.java
+++ b/server/data/data-file/src/test/java/org/apache/james/domainlist/xml/XMLDomainListTest.java
@@ -32,6 +32,7 @@ import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.dnsservice.api.mock.MockDNSService;
import org.apache.james.domainlist.api.DomainListException;
+import org.apache.james.domainlist.lib.EnvDetector;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -39,6 +40,8 @@ import org.slf4j.LoggerFactory;
public class XMLDomainListTest {
+ public static final String DEFAULT_DOMAIN = "default.domain";
+
@Rule
public ExpectedException expectedException = ExpectedException.none();
@@ -50,7 +53,7 @@ public class XMLDomainListTest {
for (String name : names) {
configuration.addProperty("domainnames.domainname", name);
}
- configuration.addProperty("defaultDomain", "default.domain");
+ configuration.addProperty("defaultDomain", DEFAULT_DOMAIN);
return configuration;
}
@@ -78,12 +81,11 @@ public class XMLDomainListTest {
@Test
public void testNoConfiguredDomains() throws Exception {
List<String> domains = new ArrayList<String>();
- XMLDomainList dom = new XMLDomainList();
+ XMLDomainList dom = new XMLDomainList(setUpDNSServer("localhost"), new EnvDetector());
dom.setLog(LoggerFactory.getLogger("MockLog"));
dom.configure(setUpConfiguration(false, false, domains));
- dom.setDNSService(setUpDNSServer("localhost"));
- assertThat(dom.getDomains()).describedAs("No domain found").isEmpty();
+ assertThat(dom.getDomains()).describedAs("No domain found").containsOnly(DEFAULT_DOMAIN);
}
@Test
@@ -92,12 +94,11 @@ public class XMLDomainListTest {
domains.add("domain1.");
domains.add("domain2.");
- XMLDomainList dom = new XMLDomainList();
+ XMLDomainList dom = new XMLDomainList(setUpDNSServer("localhost"), new EnvDetector());
dom.setLog(LoggerFactory.getLogger("MockLog"));
dom.configure(setUpConfiguration(false, false, domains));
- dom.setDNSService(setUpDNSServer("localhost"));
- assertThat(dom.getDomains()).describedAs("Two domain found").hasSize(2);
+ assertThat(dom.getDomains()).describedAs("Three domain found").hasSize(3);
}
@Test
@@ -105,12 +106,11 @@ public class XMLDomainListTest {
List<String> domains = new ArrayList<String>();
domains.add("domain1.");
- XMLDomainList dom = new XMLDomainList();
+ XMLDomainList dom = new XMLDomainList(setUpDNSServer("local"), new EnvDetector());
dom.setLog(LoggerFactory.getLogger("MockLog"));
dom.configure(setUpConfiguration(true, false, domains));
- dom.setDNSService(setUpDNSServer("local"));
- assertThat(dom.getDomains()).describedAs("Two domains found").hasSize(2);
+ assertThat(dom.getDomains()).describedAs("Two domains found").hasSize(3);
}
@Test
@@ -118,13 +118,12 @@ public class XMLDomainListTest {
List<String> domains = new ArrayList<String>();
domains.add("domain1.");
- XMLDomainList dom = new XMLDomainList();
+ XMLDomainList dom = new XMLDomainList(setUpDNSServer("localhost"), new EnvDetector());
dom.setLog(LoggerFactory.getLogger("MockLog"));
dom.configure(setUpConfiguration(true, false, domains));
- dom.setDNSService(setUpDNSServer("localhost"));
- assertThat(dom.getDomains()).describedAs("One domain found").hasSize(1);
+ assertThat(dom.getDomains()).describedAs("One domain found").hasSize(2);
}
@Test
@@ -134,7 +133,7 @@ public class XMLDomainListTest {
List<String> domains = new ArrayList<String>();
domains.add("domain1");
- XMLDomainList testee = new XMLDomainList();
+ XMLDomainList testee = new XMLDomainList(setUpDNSServer("hostname"), new EnvDetector());
testee.setLog(LoggerFactory.getLogger("MockLog"));
testee.configure(setUpConfiguration(true, false, domains));
@@ -148,7 +147,7 @@ public class XMLDomainListTest {
List<String> domains = new ArrayList<String>();
domains.add("domain1");
- XMLDomainList testee = new XMLDomainList();
+ XMLDomainList testee = new XMLDomainList(setUpDNSServer("localhost"), new EnvDetector());
testee.setLog(LoggerFactory.getLogger("MockLog"));
testee.configure(setUpConfiguration(true, false, domains));
@@ -159,15 +158,15 @@ public class XMLDomainListTest {
public void configureShouldNotFailWhenConfiguringDefaultDomain() throws Exception {
DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
- configuration.addProperty("autodetect", true);
+ configuration.addProperty("autodetect", false);
configuration.addProperty("autodetectIP", false);
configuration.addProperty("domainnames.domainname", "domain1");
configuration.addProperty("defaultDomain", "localhost");
- XMLDomainList testee = new XMLDomainList();
+ XMLDomainList testee = new XMLDomainList(setUpDNSServer("localhost"), new EnvDetector());
testee.setLog(LoggerFactory.getLogger("MockLog"));
testee.configure(configuration);
- assertThat(testee.getDomainListInternal()).hasSize(2);
+ assertThat(testee.getDomainListInternal()).hasSize(3);
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/2bbfdcfb/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 689d35c..d103a09 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
@@ -81,7 +81,7 @@ public abstract class AbstractDomainList implements DomainList, LogEnabled, Conf
@VisibleForTesting void configureDefaultDomain(HierarchicalConfiguration config) throws ConfigurationException {
try {
- defaultDomain = config.getString("defaultDomain", LOCALHOST);
+ setDefaultDomain(config.getString("defaultDomain", LOCALHOST));
String hostName = InetAddress.getLocalHost().getHostName();
if (mayChangeDefaultDomain()) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/2bbfdcfb/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 eb82d76..8dce3d8 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
@@ -119,4 +119,29 @@ public class AbstractDomainListPrivateMethodsTest {
assertThat(domainList.getDomainListInternal()).containsOnlyOnce(expectedDefaultDomain);
}
+
+ @Test
+ public void setDefaultDomainShouldAddDomainWhenNotContained() throws Exception {
+ HierarchicalConfiguration configuration = mock(HierarchicalConfiguration.class);
+ String expectedDefaultDomain = "myDomain.org";
+ when(configuration.getString("defaultDomain", AbstractDomainList.LOCALHOST))
+ .thenReturn(expectedDefaultDomain);
+
+ domainList.configureDefaultDomain(configuration);
+
+ assertThat(domainList.getDomainListInternal()).contains(expectedDefaultDomain);
+ }
+
+ @Test
+ public void setDefaultDomainNotFailWhenDomainContained() throws Exception {
+ HierarchicalConfiguration configuration = mock(HierarchicalConfiguration.class);
+ String expectedDefaultDomain = "myDomain.org";
+ when(configuration.getString("defaultDomain", AbstractDomainList.LOCALHOST))
+ .thenReturn(expectedDefaultDomain);
+
+ domainList.addDomain(expectedDefaultDomain);
+ domainList.configureDefaultDomain(configuration);
+
+ assertThat(domainList.getDomainListInternal()).contains(expectedDefaultDomain);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org