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 15ab767967a849eaa8b9d276a1aceed887107e95 Author: Rene Cordier <rcord...@linagora.com> AuthorDate: Wed May 22 17:32:35 2019 +0700 JAMES-2764 Add bean contracts for es6 mailbox objects --- mailbox/elasticsearch-v6/pom.xml | 5 ++ .../mailbox/elasticsearch/v6/json/EMailer.java | 4 +- .../v6/ElasticSearchMailboxConfigurationTest.java | 8 +++ .../elasticsearch/v6/json/EMailerTest.java} | 57 +++------------------- 4 files changed, 22 insertions(+), 52 deletions(-) diff --git a/mailbox/elasticsearch-v6/pom.xml b/mailbox/elasticsearch-v6/pom.xml index 0591267..f7615c9 100644 --- a/mailbox/elasticsearch-v6/pom.xml +++ b/mailbox/elasticsearch-v6/pom.xml @@ -151,6 +151,11 @@ <scope>test</scope> </dependency> <dependency> + <groupId>nl.jqno.equalsverifier</groupId> + <artifactId>equalsverifier</artifactId> + <scope>test</scope> + </dependency> + <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <scope>test</scope> diff --git a/mailbox/elasticsearch-v6/src/main/java/org/apache/james/mailbox/elasticsearch/v6/json/EMailer.java b/mailbox/elasticsearch-v6/src/main/java/org/apache/james/mailbox/elasticsearch/v6/json/EMailer.java index f827ba0..ab0194e 100644 --- a/mailbox/elasticsearch-v6/src/main/java/org/apache/james/mailbox/elasticsearch/v6/json/EMailer.java +++ b/mailbox/elasticsearch-v6/src/main/java/org/apache/james/mailbox/elasticsearch/v6/json/EMailer.java @@ -51,7 +51,7 @@ public class EMailer implements SerializableMessage { } @Override - public boolean equals(Object o) { + public final boolean equals(Object o) { if (o instanceof EMailer) { EMailer otherEMailer = (EMailer) o; return Objects.equals(name, otherEMailer.name) @@ -61,7 +61,7 @@ public class EMailer implements SerializableMessage { } @Override - public int hashCode() { + public final int hashCode() { return Objects.hash(name, address); } diff --git a/mailbox/elasticsearch-v6/src/test/java/org/apache/james/mailbox/elasticsearch/v6/ElasticSearchMailboxConfigurationTest.java b/mailbox/elasticsearch-v6/src/test/java/org/apache/james/mailbox/elasticsearch/v6/ElasticSearchMailboxConfigurationTest.java index 6136627..c04eb16 100644 --- a/mailbox/elasticsearch-v6/src/test/java/org/apache/james/mailbox/elasticsearch/v6/ElasticSearchMailboxConfigurationTest.java +++ b/mailbox/elasticsearch-v6/src/test/java/org/apache/james/mailbox/elasticsearch/v6/ElasticSearchMailboxConfigurationTest.java @@ -27,8 +27,16 @@ import org.apache.james.backends.es.v6.ReadAliasName; import org.apache.james.backends.es.v6.WriteAliasName; import org.junit.Test; +import nl.jqno.equalsverifier.EqualsVerifier; + public class ElasticSearchMailboxConfigurationTest { @Test + public void elasticSearchMailboxConfigurationShouldRespectBeanContract() { + EqualsVerifier.forClass(ElasticSearchMailboxConfiguration.class) + .verify(); + } + + @Test public void getIndexMailboxNameShouldReturnOldConfiguredValue() { PropertiesConfiguration configuration = new PropertiesConfiguration(); String name = "name"; diff --git a/mailbox/elasticsearch-v6/src/main/java/org/apache/james/mailbox/elasticsearch/v6/json/EMailer.java b/mailbox/elasticsearch-v6/src/test/java/org/apache/james/mailbox/elasticsearch/v6/json/EMailerTest.java similarity index 50% copy from mailbox/elasticsearch-v6/src/main/java/org/apache/james/mailbox/elasticsearch/v6/json/EMailer.java copy to mailbox/elasticsearch-v6/src/test/java/org/apache/james/mailbox/elasticsearch/v6/json/EMailerTest.java index f827ba0..1a907fb 100644 --- a/mailbox/elasticsearch-v6/src/main/java/org/apache/james/mailbox/elasticsearch/v6/json/EMailer.java +++ b/mailbox/elasticsearch-v6/src/test/java/org/apache/james/mailbox/elasticsearch/v6/json/EMailerTest.java @@ -19,57 +19,14 @@ package org.apache.james.mailbox.elasticsearch.v6.json; -import java.util.Objects; +import org.junit.jupiter.api.Test; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.google.common.base.Joiner; -import com.google.common.base.MoreObjects; +import nl.jqno.equalsverifier.EqualsVerifier; -public class EMailer implements SerializableMessage { - - private final String name; - private final String address; - - public EMailer(String name, String address) { - this.name = name; - this.address = address; - } - - @JsonProperty(JsonMessageConstants.EMailer.NAME) - public String getName() { - return name; - } - - @JsonProperty(JsonMessageConstants.EMailer.ADDRESS) - public String getAddress() { - return address; - } - - @Override - public String serialize() { - return Joiner.on(" ").join(name, address); - } - - @Override - public boolean equals(Object o) { - if (o instanceof EMailer) { - EMailer otherEMailer = (EMailer) o; - return Objects.equals(name, otherEMailer.name) - && Objects.equals(address, otherEMailer.address); - } - return false; - } - - @Override - public int hashCode() { - return Objects.hash(name, address); - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("name", name) - .add("address", address) - .toString(); +class EMailerTest { + @Test + void eMailerShouldRespectBeanContract() { + EqualsVerifier.forClass(EMailer.class) + .verify(); } } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org