JAMES-2425 Avoid adding URL to Mail Repository Store when unknown protocol
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/a1710240 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/a1710240 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/a1710240 Branch: refs/heads/master Commit: a17102407973ba01c4b965f9e0bb49c58823b6f8 Parents: 6592d7c Author: benwa <[email protected]> Authored: Wed Aug 1 17:03:12 2018 +0700 Committer: Benoit Tellier <[email protected]> Committed: Fri Aug 3 07:57:22 2018 +0700 ---------------------------------------------------------------------- .../org/apache/james/utils/InMemoryMailRepositoryStore.java | 2 +- .../apache/james/utils/InMemoryMailRepositoryStoreTest.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/a1710240/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java ---------------------------------------------------------------------- diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java index b6e1491..6bf875d 100644 --- a/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java +++ b/server/container/guice/guice-common/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java @@ -117,8 +117,8 @@ public class InMemoryMailRepositoryStore implements MailRepositoryStore, Configu } private MailRepository createNewMailRepository(MailRepositoryUrl mailRepositoryUrl) throws MailRepositoryStoreException { - urlStore.add(mailRepositoryUrl); MailRepository newMailRepository = retrieveMailRepository(mailRepositoryUrl); + urlStore.add(mailRepositoryUrl); newMailRepository = initializeNewRepository(newMailRepository, createRepositoryCombinedConfig(mailRepositoryUrl)); MailRepository previousRepository = destinationToRepositoryAssociations.putIfAbsent(mailRepositoryUrl, newMailRepository); return Optional.ofNullable(previousRepository) http://git-wip-us.apache.org/repos/asf/james-project/blob/a1710240/server/container/guice/guice-common/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java ---------------------------------------------------------------------- diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java index 44b91a9..04e6950 100644 --- a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java +++ b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java @@ -47,6 +47,7 @@ import com.google.common.collect.Sets; public class InMemoryMailRepositoryStoreTest { private static final MailRepositoryUrl FILE_REPO = MailRepositoryUrl.from("file://repo"); + private static final MailRepositoryUrl UNKNOWN_PROTOCOL_REPO = MailRepositoryUrl.from("toto://repo"); private static final MailRepositoryUrl MEMORY_REPO = MailRepositoryUrl.from("memory://repo"); private static final MailRepositoryPath PATH_REPO = MailRepositoryPath.from("repo"); @@ -265,4 +266,11 @@ public class InMemoryMailRepositoryStoreTest { assertThat(actualSize).isEqualTo(threadCount); } + @Test + public void selectShouldNotAddUrlWhenProtocolDoNotExist() { + assertThatThrownBy(() -> repositoryStore.select(UNKNOWN_PROTOCOL_REPO)); + + assertThat(urlStore.listDistinct()).isEmpty(); + } + } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
