public void configure(DomainListConfiguration domainListConfiguration) throws ConfigurationException { setAutoDetect(domainListConfiguration.isAutoDetect()); setAutoDetectIP(domainListConfiguration.isAutoDetectIp()); configureDefaultDomain(domainListConfiguration.getDefaultDomain()); addEnvDomain(); addConfiguredDomains(domainListConfiguration.getConfiguredDomains()); }
@Test public void getDomainsShouldNotInteractWithDNSWhenDisabled() throws Exception { domainList.configure(DomainListConfiguration.builder() .autoDetect(false) .autoDetectIp(false)); domainList.getDomains(); verifyZeroInteractions(dnsService); }
@Test public void containsDomainShouldNotInteractWithDNSWhenDisabled() throws Exception { domainList.configure(DomainListConfiguration.builder() .autoDetect(false) .autoDetectIp(false)); domainList.containsDomain(Domain.of("added.tld")); verifyZeroInteractions(dnsService); }
@Test public void configureShouldNotAttemptToChangeLocalHostDefaultDomainWhenNoAutoDetect() throws Exception { domainList.configure(DomainListConfiguration.builder() .autoDetect(false) .autoDetectIp(false) .defaultDomain(Domain.LOCALHOST)); assertThat(domainList.getDefaultDomain()).isEqualTo(Domain.LOCALHOST); }
@Override @Before public void setUp() throws Exception { super.setUp(); }
private void setDefaultDomain(Domain defaultDomain) throws DomainListException { if (defaultDomain != null && !containsDomain(defaultDomain)) { addDomain(defaultDomain); } this.defaultDomain = defaultDomain; }
/** * @see org.apache.james.domainlist.api.ManageableDomainList#addDomain(java.lang.String) */ public synchronized boolean addDomain(String domain) { getLogger().info("Add domain " + domain + " to DomainList"); //TODO: Should we care about autoDetectIP ? return addDomainInternal(domain); }
@Override public boolean containsDomain(Domain domain) throws DomainListException { boolean internalAnswer = containsDomainInternal(domain); return internalAnswer || getDomains().contains(domain); }
public AbstractDomainList(DNSService dns) { this(dns, new EnvDetector()); }
public static Builder builder() { return new Builder(); }
/** * Set to true to autodetect the hostname of the host on which * james is running, and add this to the domain service * Default is true * * @param autodetect set to false for disable */ public synchronized void setAutoDetect(boolean autoDetect) { getLogger().info("Set autodetect to: " + autoDetect); this.autoDetect = autoDetect; }
public void setUp() throws Exception { domainList = createDomainList(); }
@Test public void getDomainsShouldListAddedDomain() throws Exception { Domain defaultDomain = Domain.of("default.tld"); Domain domain = Domain.of("added.tld"); domainList.addDomain(domain); domainList.configure(DomainListConfiguration.builder() .autoDetect(false) .autoDetectIp(false) .defaultDomain(defaultDomain)); assertThat(domainList.getDomains()).containsOnly(domain, defaultDomain); }
@Test public void containsDomainShouldReturnTrueWhenDomainIsContained() throws Exception { Domain domain = Domain.of("added.tld"); domainList.addDomain(domain); domainList.configure(DomainListConfiguration.builder() .autoDetect(false) .autoDetectIp(false)); assertThat(domainList.containsDomain(domain)).isTrue(); }
@Test public void getDomainsShouldNotDetectDomainsWhenDisabled() throws Exception { Domain domain = Domain.of("domain.tld"); domainList.configure(DomainListConfiguration.builder() .autoDetect(false) .autoDetectIp(false) .defaultDomain(domain)); assertThat(domainList.getDomains()).containsOnly(domain); }
@Test public void envDomainShouldBeAddedUponConfiguration() throws Exception { String envDomain = "env.tld"; when(envDetector.getEnv(AbstractDomainList.ENV_DOMAIN)).thenReturn(envDomain); domainList.configure(DomainListConfiguration.builder() .autoDetect(true) .autoDetectIp(false)); assertThat(domainList.containsDomain(Domain.of(envDomain))).isTrue(); }
@Test public void configuredDomainShouldBeAddedUponConfiguration() throws Exception { Domain domain1 = Domain.of("conf1.tld"); Domain domain2 = Domain.of("conf2.tld"); domainList.configure(DomainListConfiguration.builder() .autoDetect(false) .autoDetectIp(false) .addConfiguredDomains(domain1, domain2)); assertThat(domainList.getDomains()).contains(domain1, domain2); }
@Test public void containsDomainShouldReturnFalseWhenDomainIsNotContained() throws Exception { Domain domain = Domain.of("added.tld"); domainList.configure(DomainListConfiguration.builder() .autoDetect(false) .autoDetectIp(false)); assertThat(domainList.containsDomain(domain)).isFalse(); }