You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2018/08/03 08:52:25 UTC

[12/20] james-project git commit: JAMES-2513 Improve XMLDomainListTest

JAMES-2513 Improve XMLDomainListTest

Use DomainListConfiguration

We also sole an issue in 'configureShouldNotFailWhenConfiguringDefaultDomain'.
The assertion concerned the domain number count, affected by no more auto-detecting localhost default domain. Hence I reworked it.


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/7063734f
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/7063734f
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/7063734f

Branch: refs/heads/master
Commit: 7063734f59efbc6bfcaa52b08dee5d771879a6dc
Parents: 5bb6dde
Author: benwa <bt...@linagora.com>
Authored: Thu Aug 2 10:52:34 2018 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Fri Aug 3 15:51:29 2018 +0700

----------------------------------------------------------------------
 .../james/domainlist/xml/XMLDomainList.java     |  6 +-
 .../james/domainlist/xml/XMLDomainListTest.java | 89 +++++++++-----------
 2 files changed, 43 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/7063734f/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 73b9b31..7c36e16 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
@@ -26,11 +26,11 @@ import javax.inject.Inject;
 import javax.inject.Singleton;
 
 import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.core.Domain;
 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.DomainListConfiguration;
 import org.apache.james.lifecycle.api.Configurable;
 
 /**
@@ -48,8 +48,8 @@ public class XMLDomainList extends AbstractDomainList implements Configurable {
     }
 
     @Override
-    public void configure(HierarchicalConfiguration config) throws ConfigurationException {
-        super.configure(config);
+    public void configure(DomainListConfiguration domainListConfiguration) throws ConfigurationException {
+        super.configure(domainListConfiguration);
         isConfigured = true;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/7063734f/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 7a99107..366dfe2 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
@@ -22,16 +22,13 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 import java.net.InetAddress;
 import java.net.UnknownHostException;
-import java.util.ArrayList;
 import java.util.Collection;
-import java.util.List;
 
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.core.Domain;
 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.DomainListConfiguration;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -41,21 +38,10 @@ import com.google.common.collect.ImmutableList;
 public class XMLDomainListTest {
 
     public static final Domain DEFAULT_DOMAIN = Domain.of("default.domain");
+    public static final Domain DOMAIN_1 = Domain.of("domain1");
 
     @Rule
     public ExpectedException expectedException = ExpectedException.none();
-    
-    private HierarchicalConfiguration setUpConfiguration(boolean auto, boolean autoIP, List<String> names) {
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
-
-        configuration.addProperty("autodetect", auto);
-        configuration.addProperty("autodetectIP", autoIP);
-        for (String name : names) {
-            configuration.addProperty("domainnames.domainname", name);
-        }
-        configuration.addProperty("defaultDomain", DEFAULT_DOMAIN.asString());
-        return configuration;
-    }
 
     private DNSService setUpDNSServer(final String hostName) {
         return new MockDNSService() {
@@ -80,43 +66,49 @@ public class XMLDomainListTest {
     // See https://issues.apache.org/jira/browse/JAMES-998
     @Test
     public void testNoConfiguredDomains() throws Exception {
-        List<String> domains = new ArrayList<>();
         XMLDomainList dom = new XMLDomainList(setUpDNSServer("localhost"));
-        dom.configure(setUpConfiguration(false, false, domains));
+
+        dom.configure(DomainListConfiguration.builder()
+            .autoDetect(false)
+            .autoDetectIp(false)
+            .defaultDomain(DEFAULT_DOMAIN));
+
 
         assertThat(dom.getDomains()).containsOnly(DEFAULT_DOMAIN);
     }
 
     @Test
     public void testGetDomains() throws Exception {
-        List<String> domains = new ArrayList<>();
-        domains.add("domain1.");
-        domains.add("domain2.");
-
         XMLDomainList dom = new XMLDomainList(setUpDNSServer("localhost"));
-        dom.configure(setUpConfiguration(false, false, domains));
+        dom.configure(DomainListConfiguration.builder()
+            .autoDetect(false)
+            .autoDetectIp(false)
+            .addConfiguredDomains(Domain.of("domain1."), Domain.of("domain2."))
+            .defaultDomain(DEFAULT_DOMAIN));
 
         assertThat(dom.getDomains()).hasSize(3);
     }
 
     @Test
     public void testGetDomainsAutoDetectNotLocalHost() throws Exception {
-        List<String> domains = new ArrayList<>();
-        domains.add("domain1.");
-
         XMLDomainList dom = new XMLDomainList(setUpDNSServer("local"));
-        dom.configure(setUpConfiguration(true, false, domains));
+        dom.configure(DomainListConfiguration.builder()
+            .autoDetect(true)
+            .autoDetectIp(false)
+            .addConfiguredDomains(Domain.of("domain1."))
+            .defaultDomain(DEFAULT_DOMAIN));
 
         assertThat(dom.getDomains()).hasSize(3);
     }
 
     @Test
     public void testGetDomainsAutoDetectLocalHost() throws Exception {
-        List<String> domains = new ArrayList<>();
-        domains.add("domain1.");
-
         XMLDomainList dom = new XMLDomainList(setUpDNSServer("localhost"));
-        dom.configure(setUpConfiguration(true, false, domains));
+        dom.configure(DomainListConfiguration.builder()
+            .autoDetect(false)
+            .autoDetectIp(false)
+            .addConfiguredDomains(Domain.of("domain1."))
+            .defaultDomain(DEFAULT_DOMAIN));
 
         assertThat(dom.getDomains()).hasSize(2);
     }
@@ -125,11 +117,12 @@ public class XMLDomainListTest {
     public void addDomainShouldFailWhenAlreadyConfigured() throws Exception {
         expectedException.expect(DomainListException.class);
 
-        List<String> domains = new ArrayList<>();
-        domains.add("domain1");
-
         XMLDomainList testee = new XMLDomainList(setUpDNSServer("hostname"));
-        testee.configure(setUpConfiguration(true, false, domains));
+        testee.configure(DomainListConfiguration.builder()
+            .autoDetect(true)
+            .autoDetectIp(false)
+            .addConfiguredDomain(DOMAIN_1)
+            .defaultDomain(DEFAULT_DOMAIN));
 
         testee.addDomain(Domain.of("newDomain"));
     }
@@ -138,27 +131,25 @@ public class XMLDomainListTest {
     public void removeDomainShouldFailWhenAlreadyConfigured() throws Exception {
         expectedException.expect(DomainListException.class);
 
-        List<String> domains = new ArrayList<>();
-        domains.add("domain1");
-
         XMLDomainList testee = new XMLDomainList(setUpDNSServer("localhost"));
-        testee.configure(setUpConfiguration(true, false, domains));
+        testee.configure(DomainListConfiguration.builder()
+            .autoDetect(true)
+            .autoDetectIp(false)
+            .addConfiguredDomain(DOMAIN_1));
 
         testee.removeDomain(Domain.of("newDomain"));
     }
 
     @Test
     public void configureShouldNotFailWhenConfiguringDefaultDomain() throws Exception {
-        DefaultConfigurationBuilder configuration = new DefaultConfigurationBuilder();
-
-        configuration.addProperty("autodetect", false);
-        configuration.addProperty("autodetectIP", false);
-        configuration.addProperty("domainnames.domainname", "domain1");
-        configuration.addProperty("defaultDomain", "localhost");
-
         XMLDomainList testee = new XMLDomainList(setUpDNSServer("localhost"));
-        testee.configure(configuration);
-
-        assertThat(testee.getDomainListInternal()).hasSize(3);
+        testee.configure(DomainListConfiguration.builder()
+            .autoDetect(false)
+            .autoDetectIp(false)
+            .defaultDomain(Domain.LOCALHOST)
+            .addConfiguredDomain(DOMAIN_1));
+
+        assertThat(testee.getDomainListInternal())
+            .containsOnly(DOMAIN_1, Domain.LOCALHOST);
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org