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 <btell...@linagora.com> Authored: Thu Aug 2 10:52:34 2018 +0700 Committer: Benoit Tellier <btell...@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-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org