This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 06eca0a02c3cc34d2d688fffb083f5996e74c23d Author: Benoit Tellier <[email protected]> AuthorDate: Sun Jan 30 20:32:40 2022 +0700 JAMES-3708 Fix some assertions in WebAdmin --- .../org/apache/james/domainlist/xml/XMLDomainListTest.java | 6 +++--- .../org/apache/james/domainlist/lib/AbstractDomainList.java | 11 +++++++++-- .../jmap/rfc8621/contract/AuthenticationContract.scala | 4 ++-- .../org/apache/james/jmap/rfc8621/contract/Fixture.scala | 2 +- .../james/webadmin/routes/DLPConfigurationRoutesTest.java | 6 +++--- .../james/webadmin/routes/DomainMappingsRoutesTest.java | 13 ++++++------- .../org/apache/james/webadmin/routes/DomainsRoutesTest.java | 6 +++--- 7 files changed, 27 insertions(+), 21 deletions(-) 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 fb4bc9a..ccead2b 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 @@ -78,7 +78,7 @@ class XMLDomainListTest { dom.configure(DomainListConfiguration.builder() .autoDetect(false) .autoDetectIp(false) - .addConfiguredDomains(Domain.of("domain1."), Domain.of("domain2.")) + .addConfiguredDomains(Domain.of("domain1"), Domain.of("domain2")) .defaultDomain(DEFAULT_DOMAIN)); assertThat(dom.getDomains()).hasSize(3); @@ -90,7 +90,7 @@ class XMLDomainListTest { dom.configure(DomainListConfiguration.builder() .autoDetect(true) .autoDetectIp(false) - .addConfiguredDomains(Domain.of("domain1.")) + .addConfiguredDomains(Domain.of("domain1")) .defaultDomain(DEFAULT_DOMAIN)); assertThat(dom.getDomains()).contains(Domain.of("local")); @@ -102,7 +102,7 @@ class XMLDomainListTest { dom.configure(DomainListConfiguration.builder() .autoDetect(false) .autoDetectIp(false) - .addConfiguredDomains(Domain.of("domain1.")) + .addConfiguredDomains(Domain.of("domain1")) .defaultDomain(DEFAULT_DOMAIN)); assertThat(dom.getDomains()).hasSize(2); 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 7f2a212..e1185b6 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 @@ -240,19 +240,26 @@ public abstract class AbstractDomainList implements DomainList, Configurable { if (configuration.isAutoDetect()) { String hostName; try { - hostName = dns.getHostName(dns.getLocalHost()); + hostName = removeTrailingDot(dns.getHostName(dns.getLocalHost())); } catch (UnknownHostException ue) { hostName = "localhost"; } LOGGER.info("Local host is: {}", hostName); - if (hostName != null && !hostName.equals("localhost")) { + if (!Strings.isNullOrEmpty(hostName) && !hostName.equals("localhost")) { return ImmutableList.of(Domain.of(hostName)); } } return ImmutableList.of(); } + private String removeTrailingDot(String domain) { + if (domain.endsWith(".")) { + return domain.substring(0, domain.length() - 1); + } + return domain; + } + /** * Return a stream of all IP addresses of the given domains. * diff --git a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/AuthenticationContract.scala b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/AuthenticationContract.scala index caeeeb1..a50fae9 100644 --- a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/AuthenticationContract.scala +++ b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/AuthenticationContract.scala @@ -135,7 +135,7 @@ trait AuthenticationContract { .statusCode(SC_UNAUTHORIZED) .body("status", equalTo(401)) .body("type", equalTo("about:blank")) - .body("detail", equalTo("No valid authentication methods provided")) + .body("detail", equalTo("Username is not valid")) } @Test @@ -150,7 +150,7 @@ trait AuthenticationContract { .statusCode(SC_UNAUTHORIZED) .body("status", equalTo(401)) .body("type", equalTo("about:blank")) - .body("detail", equalTo("No valid authentication methods provided")) + .body("detail", equalTo("Username is not valid")) } @Test diff --git a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/Fixture.scala b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/Fixture.scala index 00adec8..22ec754 100644 --- a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/Fixture.scala +++ b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/Fixture.scala @@ -84,7 +84,7 @@ object Fixture { val AUTHORIZATION_HEADER: String = "Authorization" val DOMAIN: Domain = Domain.of("domain.tld") - val DOMAIN_WITH_SPACE: Domain = Domain.of("dom ain.tld") + val DOMAIN_WITH_SPACE: String = "dom ain.tld" val _2_DOT_DOMAIN: Domain = Domain.of("do.main.tld") val BOB: Username = Username.fromLocalPartWithDomain("bob", DOMAIN) val ANDRE: Username = Username.fromLocalPartWithDomain("andre", DOMAIN) diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java index 90bbec0..7b3f8a9 100644 --- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java +++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DLPConfigurationRoutesTest.java @@ -329,7 +329,7 @@ class DLPConfigurationRoutesTest { .body("statusCode", is(HttpStatus.BAD_REQUEST_400)) .body("type", is("InvalidArgument")) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("Domain can not be empty nor contain `@` nor `/`")); + .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _")); } @Test @@ -646,7 +646,7 @@ class DLPConfigurationRoutesTest { .body("statusCode", is(HttpStatus.BAD_REQUEST_400)) .body("type", is("InvalidArgument")) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("Domain can not be empty nor contain `@` nor `/`")); + .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _")); } } @@ -859,7 +859,7 @@ class DLPConfigurationRoutesTest { .body("statusCode", is(HttpStatus.BAD_REQUEST_400)) .body("type", is("InvalidArgument")) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("Domain can not be empty nor contain `@` nor `/`")); + .body("details", is("Domain parts ASCII chars must be a-z A-Z 0-9 - or _")); } } diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainMappingsRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainMappingsRoutesTest.java index 0dbb303..6a7c027 100644 --- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainMappingsRoutesTest.java +++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainMappingsRoutesTest.java @@ -65,7 +65,6 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import io.restassured.RestAssured; -import io.restassured.filter.log.LogDetail; import io.restassured.http.ContentType; import io.restassured.response.Response; import io.restassured.specification.RequestSpecification; @@ -127,19 +126,19 @@ class DomainMappingsRoutesTest { } @Test - void addDomainMappingsShouldReturnOkWhenWithA255LongDomainSource() { + void addDomainMappingsShouldReturnOkWhenWithA253LongDomainSource() { given() .body("to.com") .when() - .put(StringUtils.repeat('a', 255)) + .put(StringUtils.repeat("123456789.", 25) + "com") .then() .statusCode(HttpStatus.NO_CONTENT_204); } @Test - void addDomainMappingsShouldReturnOkWhenWithA255LongDomainDestination() { + void addDomainMappingsShouldReturnOkWhenWithA253LongDomainDestination() { given() - .body(StringUtils.repeat('a', 255)) + .body(StringUtils.repeat("123456789.", 25) + "com") .when() .put("from.com") .then() @@ -437,7 +436,7 @@ class DomainMappingsRoutesTest { .body("statusCode", is(400)) .body("type", is(ErrorResponder.ErrorType.INVALID_ARGUMENT.getType())) .body("message", is("The domain " + longDomainName + " is invalid.")) - .body("details", is("Domain name length should not exceed 255 characters")); + .body("details", is("Domain name length should not exceed 253 characters")); } @Test @@ -453,7 +452,7 @@ class DomainMappingsRoutesTest { .body("statusCode", is(400)) .body("type", is(ErrorResponder.ErrorType.INVALID_ARGUMENT.getType())) .body("message", is("The domain " + longDomainName + " is invalid.")) - .body("details", is("Domain name length should not exceed 255 characters")); + .body("details", is("Domain name length should not exceed 253 characters")); } private void assertBadRequest(String toDomain, Function<RequestSpecification, Response> requestingFunction) { diff --git a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java index 9b941a3..e4f0b9f 100644 --- a/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java +++ b/server/protocols/webadmin/webadmin-data/src/test/java/org/apache/james/webadmin/routes/DomainsRoutesTest.java @@ -203,9 +203,9 @@ class DomainsRoutesTest { } @Test - void putShouldReturnOkWhenWithA255LongDomainName() { + void putShouldReturnOkWhenWithA253LongDomainName() { when() - .put(StringUtils.repeat('a', 255)) + .put(StringUtils.repeat("123456789.", 25) + "com") .then() .statusCode(HttpStatus.NO_CONTENT_204); } @@ -222,7 +222,7 @@ class DomainsRoutesTest { .body("statusCode", is(HttpStatus.BAD_REQUEST_400)) .body("type", is("InvalidArgument")) .body("message", is("Invalid request for domain creation " + longDomainName)) - .body("details", is("Domain name length should not exceed 255 characters")); + .body("details", is("Domain name length should not exceed 253 characters")); } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
