http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraIdTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraIdTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraIdTest.java new file mode 100644 index 0000000..4d7a195 --- /dev/null +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraIdTest.java @@ -0,0 +1,56 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ +package org.apache.james.mailbox.cassandra.ids; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.UUID; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import nl.jqno.equalsverifier.EqualsVerifier; + +public class CassandraIdTest { + + @Rule + public ExpectedException expectedException = ExpectedException.none(); + + @Test + public void beanShouldRespectBeanContract() { + EqualsVerifier.forClass(CassandraId.class) + .verify(); + } + + @Test + public void fromStringShouldWorkWhenParameterIsAnUUID() { + UUID id = UUID.randomUUID(); + + CassandraId cassandraId = new CassandraId.Factory().fromString(id.toString()); + + assertThat(cassandraId.asUuid()).isEqualTo(id); + } + + @Test + public void fromStringShouldThrowWhenParameterIsNotAnUUID() { + expectedException.expect(IllegalArgumentException.class); + new CassandraId.Factory().fromString("not an UUID"); + } +}
http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraMailboxIdDeserializerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraMailboxIdDeserializerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraMailboxIdDeserializerTest.java new file mode 100644 index 0000000..71e78e3 --- /dev/null +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraMailboxIdDeserializerTest.java @@ -0,0 +1,53 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ + +package org.apache.james.mailbox.cassandra.ids; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.UUID; + +import org.apache.james.mailbox.store.mail.model.MailboxIdDeserialisationException; +import org.junit.Before; +import org.junit.Test; + +public class CassandraMailboxIdDeserializerTest { + + private static final String UUID_STRING = "5530370f-44c6-4647-990e-7768ce5131d4"; + private static final String MALFORMED_UUID_STRING = "xyz"; + private static final CassandraId CASSANDRA_ID = CassandraId.of(UUID.fromString(UUID_STRING)); + + private CassandraMailboxIdDeserializer mailboxIdDeserializer; + + @Before + public void setUp() { + mailboxIdDeserializer = new CassandraMailboxIdDeserializer(); + } + + @Test + public void deserializeShouldWork() throws Exception { + assertThat(mailboxIdDeserializer.deserialize(UUID_STRING)).isEqualTo(CASSANDRA_ID); + } + + @Test(expected = MailboxIdDeserialisationException.class) + public void deserializeShouldThrowOnMalformedData() throws Exception { + mailboxIdDeserializer.deserialize(MALFORMED_UUID_STRING); + } + +} http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraMessageIdTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraMessageIdTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraMessageIdTest.java new file mode 100644 index 0000000..ff4ac82 --- /dev/null +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/ids/CassandraMessageIdTest.java @@ -0,0 +1,65 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ +package org.apache.james.mailbox.cassandra.ids; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.UUID; + +import org.junit.Test; + +import nl.jqno.equalsverifier.EqualsVerifier; + +public class CassandraMessageIdTest { + + @Test + public void beanShouldRespectBeanContract() { + EqualsVerifier.forClass(CassandraMessageId.class) + .verify(); + } + + @Test + public void generateShouldReturnAValidCassandraMesssageId() { + CassandraMessageId.Factory testee = new CassandraMessageId.Factory(); + + CassandraMessageId cassandraMessageId = testee.generate(); + assertThat(cassandraMessageId.serialize()).isNotNull(); + } + + @Test + public void ofShouldReturnAValidCassandraMesssageId() { + CassandraMessageId.Factory testee = new CassandraMessageId.Factory(); + + UUID expectedUuid = UUID.randomUUID(); + CassandraMessageId cassandraMessageId = testee.of(expectedUuid); + + assertThat(cassandraMessageId.get()).isEqualTo(expectedUuid); + } + + @Test + public void serializeShouldReturnTheUuidAsString() { + CassandraMessageId.Factory testee = new CassandraMessageId.Factory(); + + UUID uuid = UUID.randomUUID(); + CassandraMessageId cassandraMessageId = testee.of(uuid); + + String expected = uuid.toString(); + assertThat(cassandraMessageId.serialize()).isEqualTo(expected); + } +} http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java index ca9858c..4303f4f 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapperTest.java @@ -33,7 +33,7 @@ import java.util.concurrent.TimeoutException; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.backends.cassandra.CassandraConfiguration; import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor; -import org.apache.james.mailbox.cassandra.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; import org.apache.james.mailbox.cassandra.modules.CassandraAclModule; import org.apache.james.mailbox.cassandra.table.CassandraACLTable; import org.apache.james.mailbox.exception.MailboxException; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java index 9e0ef58..4c7f736 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraApplicableFlagDAOTest.java @@ -27,7 +27,7 @@ import javax.mail.Flags; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.mailbox.FlagsBuilder; -import org.apache.james.mailbox.cassandra.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule; import org.junit.After; import org.junit.Before; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraBlobsDAOTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraBlobsDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraBlobsDAOTest.java index 786d00e..8890e53 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraBlobsDAOTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraBlobsDAOTest.java @@ -26,7 +26,7 @@ import java.util.Optional; import org.apache.commons.io.Charsets; import org.apache.james.backends.cassandra.CassandraCluster; -import org.apache.james.mailbox.cassandra.BlobId; +import org.apache.james.mailbox.cassandra.ids.BlobId; import org.apache.james.mailbox.cassandra.modules.CassandraBlobModule; import org.junit.After; import org.junit.Before; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java index 4251e35..10c2e2d 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraDeletedMessageDAOTest.java @@ -23,7 +23,7 @@ import com.github.steveash.guavate.Guavate; import java.util.UUID; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.mailbox.MessageUid; -import org.apache.james.mailbox.cassandra.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule; import org.apache.james.mailbox.model.MessageRange; import org.junit.After; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java index e921526..d9fb0df 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraFirstUnseenDAOTest.java @@ -25,7 +25,7 @@ import java.util.Optional; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.mailbox.MessageUid; -import org.apache.james.mailbox.cassandra.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule; import org.junit.After; import org.junit.Before; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java index 89c5f3e..3dc96ea 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraIndexTableHandlerTest.java @@ -31,8 +31,8 @@ import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.backends.cassandra.init.CassandraModuleComposite; import org.apache.james.mailbox.FlagsBuilder; import org.apache.james.mailbox.MessageUid; -import org.apache.james.mailbox.cassandra.CassandraId; -import org.apache.james.mailbox.cassandra.CassandraMessageId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule; import org.apache.james.mailbox.cassandra.modules.CassandraDeletedMessageModule; import org.apache.james.mailbox.cassandra.modules.CassandraFirstUnseenModule; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java index bfabb43..dd774ca 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxCounterDAOTest.java @@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThat; import java.util.Optional; import org.apache.james.backends.cassandra.CassandraCluster; -import org.apache.james.mailbox.cassandra.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; import org.apache.james.mailbox.cassandra.modules.CassandraMailboxCounterModule; import org.apache.james.mailbox.model.MailboxCounters; import org.apache.james.mailbox.model.MailboxPath; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java index c1f8147..986794c 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxDAOTest.java @@ -26,7 +26,7 @@ import java.util.Optional; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.backends.cassandra.init.CassandraModuleComposite; -import org.apache.james.mailbox.cassandra.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; import org.apache.james.mailbox.cassandra.modules.CassandraAclModule; import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule; import org.apache.james.mailbox.model.MailboxConstants; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java index d7c5097..a14ab52 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxManagerAttachmentTest.java @@ -27,7 +27,7 @@ import org.apache.james.backends.cassandra.init.CassandraModuleComposite; import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.cassandra.CassandraMailboxManager; import org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory; -import org.apache.james.mailbox.cassandra.CassandraMessageId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; import org.apache.james.mailbox.cassandra.modules.CassandraAclModule; import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule; import org.apache.james.mailbox.cassandra.modules.CassandraAttachmentModule; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java index bbb9dba..69d442b 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxPathDAOTest.java @@ -25,7 +25,7 @@ import java.util.List; import java.util.Optional; import org.apache.james.backends.cassandra.CassandraCluster; -import org.apache.james.mailbox.cassandra.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; import org.apache.james.mailbox.cassandra.mail.CassandraMailboxPathDAO.CassandraIdAndPath; import org.apache.james.mailbox.cassandra.modules.CassandraMailboxModule; import org.apache.james.mailbox.model.MailboxPath; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java index 206e2c5..c0acc70 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxRecentDAOTest.java @@ -25,7 +25,7 @@ import java.util.stream.IntStream; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.mailbox.MessageUid; -import org.apache.james.mailbox.cassandra.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; import org.apache.james.mailbox.cassandra.modules.CassandraMailboxRecentsModule; import org.junit.After; import org.junit.Before; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java index 4357abe..b600bab 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMapperProvider.java @@ -24,10 +24,10 @@ import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.backends.cassandra.init.CassandraModuleComposite; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageUid; -import org.apache.james.mailbox.cassandra.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; import org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory; -import org.apache.james.mailbox.cassandra.CassandraMessageId; -import org.apache.james.mailbox.cassandra.CassandraMessageId.Factory; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId.Factory; import org.apache.james.mailbox.cassandra.modules.CassandraAclModule; import org.apache.james.mailbox.cassandra.modules.CassandraAnnotationModule; import org.apache.james.mailbox.cassandra.modules.CassandraApplicableFlagsModule; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java index 2ba82cc..2810ba1 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOTest.java @@ -27,9 +27,9 @@ import javax.mail.util.SharedByteArrayInputStream; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.mailbox.MessageUid; -import org.apache.james.mailbox.cassandra.CassandraId; -import org.apache.james.mailbox.cassandra.CassandraMessageId; -import org.apache.james.mailbox.cassandra.Limit; +import org.apache.james.mailbox.cassandra.ids.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; +import org.apache.james.mailbox.cassandra.mail.utils.Limit; import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule; import org.apache.james.mailbox.model.Attachment; import org.apache.james.mailbox.model.AttachmentId; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOV2Test.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOV2Test.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOV2Test.java index a3ae0fe..234d9fd 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOV2Test.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAOV2Test.java @@ -35,9 +35,9 @@ import org.apache.commons.lang3.tuple.Pair; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.backends.cassandra.init.CassandraModuleComposite; import org.apache.james.mailbox.MessageUid; -import org.apache.james.mailbox.cassandra.CassandraId; -import org.apache.james.mailbox.cassandra.CassandraMessageId; -import org.apache.james.mailbox.cassandra.Limit; +import org.apache.james.mailbox.cassandra.ids.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; +import org.apache.james.mailbox.cassandra.mail.utils.Limit; import org.apache.james.mailbox.cassandra.modules.CassandraBlobModule; import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule; import org.apache.james.mailbox.model.ComposedMessageId; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java index 8b268b3..4856f1d 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdDAOTest.java @@ -30,8 +30,8 @@ import javax.mail.Flags.Flag; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.mailbox.MessageUid; -import org.apache.james.mailbox.cassandra.CassandraId; -import org.apache.james.mailbox.cassandra.CassandraMessageId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule; import org.apache.james.mailbox.model.ComposedMessageId; import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java index 1627e30..0b71c4b 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageIdToImapUidDAOTest.java @@ -30,8 +30,8 @@ import javax.mail.Flags.Flag; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.mailbox.MessageUid; -import org.apache.james.mailbox.cassandra.CassandraId; -import org.apache.james.mailbox.cassandra.CassandraMessageId; +import org.apache.james.mailbox.cassandra.ids.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; import org.apache.james.mailbox.cassandra.modules.CassandraMessageModule; import org.apache.james.mailbox.model.ComposedMessageId; import org.apache.james.mailbox.model.ComposedMessageIdWithMetaData; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/V1ToV2MigrationTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/V1ToV2MigrationTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/V1ToV2MigrationTest.java index c1c505d..6416d62 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/V1ToV2MigrationTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/migration/V1ToV2MigrationTest.java @@ -22,7 +22,6 @@ import static org.assertj.core.api.Assertions.assertThat; import java.util.Date; import java.util.List; -import java.util.Optional; import javax.mail.Flags; import javax.mail.util.SharedByteArrayInputStream; @@ -31,9 +30,9 @@ import org.apache.commons.io.IOUtils; import org.apache.james.backends.cassandra.CassandraCluster; import org.apache.james.backends.cassandra.init.CassandraModuleComposite; import org.apache.james.mailbox.MessageUid; -import org.apache.james.mailbox.cassandra.CassandraId; -import org.apache.james.mailbox.cassandra.CassandraMessageId; -import org.apache.james.mailbox.cassandra.Limit; +import org.apache.james.mailbox.cassandra.ids.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; +import org.apache.james.mailbox.cassandra.mail.utils.Limit; import org.apache.james.mailbox.cassandra.mail.CassandraAttachmentMapper; import org.apache.james.mailbox.cassandra.mail.CassandraBlobsDAO; import org.apache.james.mailbox.cassandra.mail.CassandraMessageDAO; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/LimitTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/LimitTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/LimitTest.java new file mode 100644 index 0000000..0cd8d9b --- /dev/null +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/utils/LimitTest.java @@ -0,0 +1,116 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ + +package org.apache.james.mailbox.cassandra.mail.utils; + +import com.github.steveash.guavate.Guavate; +import com.google.common.collect.ImmutableList; +import nl.jqno.equalsverifier.EqualsVerifier; + +import org.apache.james.mailbox.cassandra.mail.utils.Limit; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + + +import java.util.List; +import java.util.Optional; + +import static org.assertj.core.api.Assertions.assertThat; + +public class LimitTest { + + private final List<Integer> aList = ImmutableList.of(1, 2, 3, 4, 5, 6); + + @Rule + public final ExpectedException expectedException = ExpectedException.none(); + + @Test + public void unlimitedShouldCreateLimitWithNoLimit() { + Limit testee = Limit.unlimited(); + assertThat(testee.getLimit()).isEqualTo(Optional.empty()); + } + + @Test + public void beanShouldRespectBeanContract() { + EqualsVerifier.forClass(Limit.class) + .verify(); + } + + @Test + public void unlimitedShouldCreateLimitThatDoesNotAffectStream() { + + Limit testee = Limit.unlimited(); + assertThat( + testee + .applyOnStream(aList.stream()) + .collect(Guavate.toImmutableList()) + ).isEqualTo(aList); + } + + @Test + public void limitShouldCreateLimitWithNoLimit() { + int expected = 3; + + Limit testee = Limit.limit(expected); + assertThat(testee.getLimit()) + .isEqualTo(Optional.of(expected)); + } + + @Test + public void limitShouldCreateLimitThatCorrectlyTruncateStream() { + Limit testee = Limit.limit(3); + + assertThat(testee + .applyOnStream(aList.stream()) + .collect(Guavate.toImmutableList()) + ).isEqualTo(ImmutableList.of(1, 2, 3)); + } + + @Test + public void limitShouldThrowAnErrorWhenCalledWithZero() { + expectedException.expect(IllegalArgumentException.class); + Limit.limit(0); + } + + + @Test + public void limitShouldThrowAnErrorWhenCalledWithNegativeValue() { + expectedException.expect(IllegalArgumentException.class); + Limit.limit(-1); + } + + @Test + public void ofShouldTakePositiveValueAsLimit() { + assertThat(Limit.from(3)) + .isEqualTo(Limit.limit(3)); + } + + @Test + public void ofShouldTakeNegativeValueAsUnlimited() { + assertThat(Limit.from(-1)) + .isEqualTo(Limit.unlimited()); + } + + @Test + public void ofShouldTakeZeroValueAsUnlimited() { + assertThat(Limit.from(0)) + .isEqualTo(Limit.unlimited()); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java ---------------------------------------------------------------------- diff --git a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java index d191bb1..1811374 100644 --- a/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java +++ b/mpt/impl/imap-mailbox/cassandra/src/test/java/org/apache/james/mpt/imapmailbox/cassandra/host/CassandraHostSystem.java @@ -28,7 +28,7 @@ import org.apache.james.imap.processor.main.DefaultImapProcessorFactory; import org.apache.james.mailbox.SubscriptionManager; import org.apache.james.mailbox.cassandra.CassandraMailboxManager; import org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory; -import org.apache.james.mailbox.cassandra.CassandraMessageId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; import org.apache.james.mailbox.cassandra.mail.CassandraBlobsDAO; import org.apache.james.mailbox.cassandra.mail.CassandraDeletedMessageDAO; import org.apache.james.mailbox.cassandra.mail.CassandraFirstUnseenDAO; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java ---------------------------------------------------------------------- diff --git a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java index d45cbc0..f31b94e 100644 --- a/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java +++ b/server/container/guice/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java @@ -28,11 +28,11 @@ import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.MailboxPathLocker; import org.apache.james.mailbox.MessageIdManager; import org.apache.james.mailbox.SubscriptionManager; -import org.apache.james.mailbox.cassandra.CassandraId; import org.apache.james.mailbox.cassandra.CassandraMailboxManager; import org.apache.james.mailbox.cassandra.CassandraMailboxSessionMapperFactory; -import org.apache.james.mailbox.cassandra.CassandraMessageId; import org.apache.james.mailbox.cassandra.CassandraSubscriptionManager; +import org.apache.james.mailbox.cassandra.ids.CassandraId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; import org.apache.james.mailbox.cassandra.mail.CassandraMailboxDAO; import org.apache.james.mailbox.cassandra.mail.CassandraMessageDAO; import org.apache.james.mailbox.cassandra.mail.CassandraMessageIdDAO; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMessagesMethodTest.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMessagesMethodTest.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMessagesMethodTest.java index 9a56d2b..5ab494a 100644 --- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMessagesMethodTest.java +++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/CassandraSetMessagesMethodTest.java @@ -22,7 +22,7 @@ package org.apache.james.jmap.cassandra; import org.apache.james.CassandraJmapTestRule; import org.apache.james.GuiceJamesServer; import org.apache.james.jmap.methods.integration.SetMessagesMethodTest; -import org.apache.james.mailbox.cassandra.CassandraMessageId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; import org.apache.james.mailbox.model.MessageId; import org.junit.Rule; http://git-wip-us.apache.org/repos/asf/james-project/blob/a3085961/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java index 249cc06..9f7ab70 100644 --- a/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java +++ b/server/protocols/jmap-integration-testing/cassandra-jmap-integration-testing/src/test/java/org/apache/james/jmap/cassandra/cucumber/CassandraStepdefs.java @@ -30,7 +30,7 @@ import org.apache.james.GuiceJamesServer; import org.apache.james.backends.cassandra.EmbeddedCassandra; import org.apache.james.backends.es.EmbeddedElasticSearch; import org.apache.james.jmap.methods.integration.cucumber.MainStepdefs; -import org.apache.james.mailbox.cassandra.CassandraMessageId; +import org.apache.james.mailbox.cassandra.ids.CassandraMessageId; import org.apache.james.mailbox.elasticsearch.MailboxElasticsearchConstants; import org.apache.james.modules.CassandraJmapServerModule; import org.junit.rules.TemporaryFolder; --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org