JAMES-2169 MailboxProbe.createMailbox should return a MailboxId
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b5c3096f Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b5c3096f Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b5c3096f Branch: refs/heads/master Commit: b5c3096fb557363e0b554f86edbefdb7fcad1a33 Parents: 36b4e56 Author: benwa <btell...@linagora.com> Authored: Tue Oct 3 09:40:27 2017 +0700 Committer: benwa <btell...@linagora.com> Committed: Wed Oct 4 16:24:32 2017 +0700 ---------------------------------------------------------------------- .../test/java/org/apache/james/mailbox/model/TestId.java | 4 +++- .../org/apache/james/mailbox/cassandra/ids/CassandraId.java | 3 ++- .../main/java/org/apache/james/mailbox/hbase/HBaseId.java | 3 ++- .../src/main/java/org/apache/james/mailbox/jcr/JCRId.java | 4 +++- .../src/main/java/org/apache/james/mailbox/jpa/JPAId.java | 4 +++- .../java/org/apache/james/mailbox/maildir/MaildirId.java | 4 +++- .../java/org/apache/james/mailbox/inmemory/InMemoryId.java | 4 +++- .../apache/james/mailbox/store/mail/ZooUidProviderTest.java | 6 ++++-- .../src/test/java/org/apache/james/cli/ServerCmdTest.java | 4 ++-- .../apache/james/adapter/mailbox/MailboxManagementTest.java | 9 +++++++-- .../org/apache/james/jmap/json/ObjectMapperFactoryTest.java | 3 ++- 11 files changed, 34 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/b5c3096f/mailbox/api/src/test/java/org/apache/james/mailbox/model/TestId.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/model/TestId.java b/mailbox/api/src/test/java/org/apache/james/mailbox/model/TestId.java index ee10460..16ade15 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/model/TestId.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/model/TestId.java @@ -18,7 +18,9 @@ ****************************************************************/ package org.apache.james.mailbox.model; -public class TestId implements MailboxId { +import java.io.Serializable; + +public class TestId implements MailboxId, Serializable { public static class Factory implements MailboxId.Factory { http://git-wip-us.apache.org/repos/asf/james-project/blob/b5c3096f/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/ids/CassandraId.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/ids/CassandraId.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/ids/CassandraId.java index 3db4329..8de229c 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/ids/CassandraId.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/ids/CassandraId.java @@ -18,6 +18,7 @@ ****************************************************************/ package org.apache.james.mailbox.cassandra.ids; +import java.io.Serializable; import java.util.Objects; import java.util.UUID; @@ -26,7 +27,7 @@ import org.apache.james.mailbox.model.MailboxId; import com.datastax.driver.core.utils.UUIDs; import com.google.common.base.MoreObjects; -public class CassandraId implements MailboxId { +public class CassandraId implements MailboxId, Serializable { public static class Factory implements MailboxId.Factory { @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/b5c3096f/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseId.java ---------------------------------------------------------------------- diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseId.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseId.java index 586bec1..62ba95f 100644 --- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseId.java +++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/HBaseId.java @@ -18,12 +18,13 @@ ****************************************************************/ package org.apache.james.mailbox.hbase; +import java.io.Serializable; import java.util.UUID; import org.apache.hadoop.hbase.util.Bytes; import org.apache.james.mailbox.model.MailboxId; -public class HBaseId implements MailboxId { +public class HBaseId implements MailboxId, Serializable { private final UUID id; http://git-wip-us.apache.org/repos/asf/james-project/blob/b5c3096f/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/JCRId.java ---------------------------------------------------------------------- diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/JCRId.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/JCRId.java index 08851b0..092edd6 100644 --- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/JCRId.java +++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/JCRId.java @@ -18,9 +18,11 @@ ****************************************************************/ package org.apache.james.mailbox.jcr; +import java.io.Serializable; + import org.apache.james.mailbox.model.MailboxId; -public class JCRId implements MailboxId { +public class JCRId implements MailboxId, Serializable { public static JCRId of(String value) { return new JCRId(value); http://git-wip-us.apache.org/repos/asf/james-project/blob/b5c3096f/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAId.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAId.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAId.java index 2992725..9047cd6 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAId.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAId.java @@ -18,9 +18,11 @@ ****************************************************************/ package org.apache.james.mailbox.jpa; +import java.io.Serializable; + import org.apache.james.mailbox.model.MailboxId; -public class JPAId implements MailboxId { +public class JPAId implements MailboxId, Serializable { public static class Factory implements MailboxId.Factory { @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/b5c3096f/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirId.java ---------------------------------------------------------------------- diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirId.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirId.java index 5c568b2..9a5d63d 100644 --- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirId.java +++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirId.java @@ -18,9 +18,11 @@ ****************************************************************/ package org.apache.james.mailbox.maildir; +import java.io.Serializable; + import org.apache.james.mailbox.model.MailboxId; -public class MaildirId implements MailboxId { +public class MaildirId implements MailboxId, Serializable { public static class Factory implements MailboxId.Factory { @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/b5c3096f/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryId.java ---------------------------------------------------------------------- diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryId.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryId.java index c5139fc..389a76a 100644 --- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryId.java +++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryId.java @@ -18,9 +18,11 @@ ****************************************************************/ package org.apache.james.mailbox.inmemory; +import java.io.Serializable; + import org.apache.james.mailbox.model.MailboxId; -public class InMemoryId implements MailboxId { +public class InMemoryId implements MailboxId, Serializable { public static class Factory implements MailboxId.Factory { http://git-wip-us.apache.org/repos/asf/james-project/blob/b5c3096f/mailbox/zoo-seq-provider/src/test/java/org/apache/james/mailbox/store/mail/ZooUidProviderTest.java ---------------------------------------------------------------------- diff --git a/mailbox/zoo-seq-provider/src/test/java/org/apache/james/mailbox/store/mail/ZooUidProviderTest.java b/mailbox/zoo-seq-provider/src/test/java/org/apache/james/mailbox/store/mail/ZooUidProviderTest.java index a9dfa23..2c1c888 100644 --- a/mailbox/zoo-seq-provider/src/test/java/org/apache/james/mailbox/store/mail/ZooUidProviderTest.java +++ b/mailbox/zoo-seq-provider/src/test/java/org/apache/james/mailbox/store/mail/ZooUidProviderTest.java @@ -19,6 +19,8 @@ package org.apache.james.mailbox.store.mail; import static org.junit.Assert.assertEquals; + +import java.io.Serializable; import java.util.Optional; import java.util.UUID; @@ -41,7 +43,7 @@ import com.netflix.curator.test.TestingServer; */ public class ZooUidProviderTest { - public static class LongId implements MailboxId { + public static class LongId implements MailboxId, Serializable { public final Long id; @@ -81,7 +83,7 @@ public class ZooUidProviderTest { } - public static class UUIDId implements MailboxId { + public static class UUIDId implements MailboxId, Serializable { private final UUID id; http://git-wip-us.apache.org/repos/asf/james-project/blob/b5c3096f/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java ---------------------------------------------------------------------- diff --git a/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java b/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java index 9609f54..efe9d19 100644 --- a/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java +++ b/server/container/cli/src/test/java/org/apache/james/cli/ServerCmdTest.java @@ -35,6 +35,7 @@ import org.apache.james.cli.exceptions.InvalidPortException; import org.apache.james.cli.exceptions.MissingCommandException; import org.apache.james.cli.exceptions.UnrecognizedCommandException; import org.apache.james.cli.type.CmdType; +import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.Quota; import org.apache.james.mailbox.store.mail.model.SerializableQuota; import org.apache.james.mailbox.store.probe.MailboxProbe; @@ -308,8 +309,7 @@ public class ServerCmdTest { String[] arguments = { "-h", "127.0.0.1", "-p", "9999", CmdType.CREATEMAILBOX.getCommand(), namespace, user, name}; CommandLine commandLine = ServerCmd.parseCommandLine(arguments); - mailboxProbe.createMailbox(namespace, user, name); - expectLastCall(); + expect(mailboxProbe.createMailbox(namespace, user, name)).andReturn(control.createMock(MailboxId.class)); control.replay(); testee.executeCommandLine(commandLine); http://git-wip-us.apache.org/repos/asf/james-project/blob/b5c3096f/server/container/mailbox-adapter/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java ---------------------------------------------------------------------- diff --git a/server/container/mailbox-adapter/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java b/server/container/mailbox-adapter/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java index e5010a1..4c4f130 100644 --- a/server/container/mailbox-adapter/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java +++ b/server/container/mailbox-adapter/src/test/java/org/apache/james/adapter/mailbox/MailboxManagementTest.java @@ -20,6 +20,7 @@ package org.apache.james.adapter.mailbox; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import java.io.File; import java.io.FileInputStream; @@ -29,6 +30,7 @@ import org.apache.commons.io.IOUtils; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver; import org.apache.james.mailbox.acl.UnionMailboxACLResolver; +import org.apache.james.mailbox.exception.MailboxExistsException; import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory; import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.model.MailboxPath; @@ -147,11 +149,14 @@ public class MailboxManagementTest { } @Test - public void createMailboxShouldNotThrowIfMailboxAlreadyExist() throws Exception { + public void createMailboxShouldThrowIfMailboxAlreadyExist() throws Exception { MailboxPath path = MailboxPath.forUser(USER, "name"); Mailbox mailbox = new SimpleMailbox(path, UID_VALIDITY); inMemoryMapperFactory.createMailboxMapper(session).save(mailbox); - mailboxManagerManagement.createMailbox(MailboxConstants.USER_NAMESPACE, USER, "name"); + + assertThatThrownBy(() -> mailboxManagerManagement.createMailbox(MailboxConstants.USER_NAMESPACE, USER, "name")) + .isInstanceOf(RuntimeException.class) + .hasCauseInstanceOf(MailboxExistsException.class); assertThat(inMemoryMapperFactory.createMailboxMapper(session).list()).containsExactly(mailbox); } http://git-wip-us.apache.org/repos/asf/james-project/blob/b5c3096f/server/protocols/jmap/src/test/java/org/apache/james/jmap/json/ObjectMapperFactoryTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/test/java/org/apache/james/jmap/json/ObjectMapperFactoryTest.java b/server/protocols/jmap/src/test/java/org/apache/james/jmap/json/ObjectMapperFactoryTest.java index 9e892fc..8a181d7 100644 --- a/server/protocols/jmap/src/test/java/org/apache/james/jmap/json/ObjectMapperFactoryTest.java +++ b/server/protocols/jmap/src/test/java/org/apache/james/jmap/json/ObjectMapperFactoryTest.java @@ -21,6 +21,7 @@ package org.apache.james.jmap.json; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import java.io.Serializable; import java.util.Map; import org.apache.james.jmap.model.mailbox.Rights; @@ -151,7 +152,7 @@ public class ObjectMapperFactoryTest { } } - public static class KeyWithoutToString implements MailboxId { + public static class KeyWithoutToString implements MailboxId, Serializable { private String value; public KeyWithoutToString(String value) { --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org