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