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 2019/05/23 03:37:58 UTC
[james-project] 10/14: JAMES-2764 Add bean contracts for es6
mailbox objects
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 <rc...@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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org