JAMES-1791 Fix memory mapper tests
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2d1fe094 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2d1fe094 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2d1fe094 Branch: refs/heads/master Commit: 2d1fe094f8ca4732914b2f5fe6ebe092884030cf Parents: 896bc96 Author: Antoine Duprat <adup...@linagora.com> Authored: Thu Jul 7 09:41:43 2016 +0200 Committer: Antoine Duprat <adup...@linagora.com> Committed: Fri Jul 8 11:28:31 2016 +0200 ---------------------------------------------------------------------- .../inmemory/mail/InMemoryAnnotationMapper.java | 2 + .../inmemory/mail/MemoryMappersTest.java | 59 ++++++++++++++++++++ .../inmemory/mail/MemoryMappersTests.java | 59 -------------------- 3 files changed, 61 insertions(+), 59 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/2d1fe094/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java index 66def77..f07166e 100644 --- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java +++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java @@ -32,6 +32,7 @@ import org.apache.james.mailbox.model.MailboxAnnotation; import org.apache.james.mailbox.store.mail.AnnotationMapper; import com.google.common.base.Function; +import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.collect.HashBasedTable; import com.google.common.collect.ImmutableList; @@ -91,6 +92,7 @@ public class InMemoryAnnotationMapper implements AnnotationMapper { @Override public void insertAnnotation(MailboxAnnotation mailboxAnnotation) { + Preconditions.checkArgument(!mailboxAnnotation.isNil()); lock.writeLock().lock(); try { mailboxesAnnotations.put(mailboxId, mailboxAnnotation.getKey(), mailboxAnnotation.getValue().get()); http://git-wip-us.apache.org/repos/asf/james-project/blob/2d1fe094/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMappersTest.java ---------------------------------------------------------------------- diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMappersTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMappersTest.java new file mode 100644 index 0000000..86c8617 --- /dev/null +++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMappersTest.java @@ -0,0 +1,59 @@ +/**************************************************************** + * 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.inmemory.mail; + +import org.apache.james.mailbox.exception.MailboxException; +import org.junit.runner.RunWith; +import org.xenei.junit.contract.Contract; +import org.xenei.junit.contract.ContractImpl; +import org.xenei.junit.contract.ContractSuite; +import org.xenei.junit.contract.IProducer; + +import com.google.common.base.Throwables; + +@RunWith(ContractSuite.class) +@ContractImpl(InMemoryMapperProvider.class) +public class MemoryMappersTest { + + private IProducer<InMemoryMapperProvider> producer = new IProducer<InMemoryMapperProvider>() { + + private final InMemoryMapperProvider mapperProvider = new InMemoryMapperProvider(); + + @Override + public InMemoryMapperProvider newInstance() { + return mapperProvider; + } + + @Override + public void cleanUp() { + try { + mapperProvider.clearMapper(); + } catch (MailboxException e) { + throw Throwables.propagate(e); + } + } + }; + + @Contract.Inject + public IProducer<InMemoryMapperProvider> getProducer() { + return producer; + } + +} http://git-wip-us.apache.org/repos/asf/james-project/blob/2d1fe094/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMappersTests.java ---------------------------------------------------------------------- diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMappersTests.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMappersTests.java deleted file mode 100644 index 099021b..0000000 --- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/mail/MemoryMappersTests.java +++ /dev/null @@ -1,59 +0,0 @@ -/**************************************************************** - * 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.inmemory.mail; - -import org.apache.james.mailbox.exception.MailboxException; -import org.junit.runner.RunWith; -import org.xenei.junit.contract.Contract; -import org.xenei.junit.contract.ContractImpl; -import org.xenei.junit.contract.ContractSuite; -import org.xenei.junit.contract.IProducer; - -import com.google.common.base.Throwables; - -@RunWith(ContractSuite.class) -@ContractImpl(InMemoryMapperProvider.class) -public class MemoryMappersTests { - - private IProducer<InMemoryMapperProvider> producer = new IProducer<InMemoryMapperProvider>() { - - private final InMemoryMapperProvider mapperProvider = new InMemoryMapperProvider(); - - @Override - public InMemoryMapperProvider newInstance() { - return mapperProvider; - } - - @Override - public void cleanUp() { - try { - mapperProvider.clearMapper(); - } catch (MailboxException e) { - throw Throwables.propagate(e); - } - } - }; - - @Contract.Inject - public IProducer<InMemoryMapperProvider> getProducer() { - return producer; - } - -} --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org