This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit b76e94fb014fb002467d2c8e8731cde069fe5c98 Author: Benoit TELLIER <[email protected]> AuthorDate: Fri Dec 1 09:44:08 2023 +0100 JAMES-3965 FileSystemImpl: convenience method for testing --- .../listeners/QuotaThresholdListenersTestSystem.java | 2 +- .../mailing/subscribers/QuotaThresholdNoticeTest.java | 3 +-- .../james/blob/export/file/FileSystemExtension.java | 5 +---- .../org/apache/james/blob/file/FileBlobStoreDAOTest.java | 6 +----- .../james/blob/file/FileBlobStoreGCAlgorithmTest.java | 6 +----- .../james/blob/file/FileBlobStorePassThroughTest.java | 5 +---- .../org/apache/james/blob/file/FileBlobStoreTest.java | 5 +---- .../james/server/core/filesystem/FileSystemImpl.java | 15 +++++++++++++++ .../java/org/apache/james/jdkim/mailets/DKIMSignTest.java | 4 +--- .../org/apache/james/imapserver/netty/IMAPServerTest.java | 7 +------ .../java/org/apache/james/lmtpserver/LmtpServerTest.java | 6 +----- .../pop3server/mailbox/DistributedPop3ServerTest.java | 7 +------ .../java/org/apache/james/pop3server/POP3ServerTest.java | 7 +------ .../test/java/org/apache/james/smtpserver/DSNTest.java | 2 +- .../org/apache/james/smtpserver/SMTPServerTestSystem.java | 9 +-------- 15 files changed, 29 insertions(+), 60 deletions(-) diff --git a/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdListenersTestSystem.java b/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdListenersTestSystem.java index b34ad92282..1d400a48a4 100644 --- a/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdListenersTestSystem.java +++ b/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/listeners/QuotaThresholdListenersTestSystem.java @@ -53,7 +53,7 @@ class QuotaThresholdListenersTestSystem { QuotaThresholdListenersTestSystem(MailetContext mailetContext, EventStore eventStore, QuotaMailingListenerConfiguration configuration) throws MailboxException { eventBus = new InVMEventBus(new InVmEventDelivery(new RecordingMetricFactory()), EventBusTestFixture.RETRY_BACKOFF_CONFIGURATION, new MemoryEventDeadLetters()); - FileSystem fileSystem = new FileSystemImpl(new JamesServerResourceLoader(".")); + FileSystem fileSystem = FileSystemImpl.forTesting(); QuotaThresholdCrossingListener thresholdCrossingListener = new QuotaThresholdCrossingListener(mailetContext, MemoryUsersRepository.withVirtualHosting(NO_DOMAIN_LIST), fileSystem, eventStore, configuration, diff --git a/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/subscribers/QuotaThresholdNoticeTest.java b/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/subscribers/QuotaThresholdNoticeTest.java index 73985d16f2..4f96458132 100644 --- a/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/subscribers/QuotaThresholdNoticeTest.java +++ b/mailbox/plugin/quota-mailing/src/test/java/org/apache/james/mailbox/quota/mailing/subscribers/QuotaThresholdNoticeTest.java @@ -41,7 +41,6 @@ import org.apache.james.mailbox.quota.mailing.QuotaMailingListenerConfiguration; import org.apache.james.mailbox.quota.mailing.QuotaMailingListenerConfiguration.RenderingInformation; import org.apache.james.mailbox.quota.model.HistoryEvolution; import org.apache.james.mailbox.quota.model.QuotaThresholdChange; -import org.apache.james.server.core.JamesServerResourceLoader; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.assertj.core.api.SoftAssertions; import org.junit.jupiter.api.BeforeEach; @@ -55,7 +54,7 @@ class QuotaThresholdNoticeTest { @BeforeEach public void setUp() { - fileSystem = new FileSystemImpl(new JamesServerResourceLoader(".")); + fileSystem = FileSystemImpl.forTesting(); } @Test diff --git a/server/blob/blob-export-file/src/test/java/org/apache/james/blob/export/file/FileSystemExtension.java b/server/blob/blob-export-file/src/test/java/org/apache/james/blob/export/file/FileSystemExtension.java index 34c3ad8cb8..ac33e57e80 100644 --- a/server/blob/blob-export-file/src/test/java/org/apache/james/blob/export/file/FileSystemExtension.java +++ b/server/blob/blob-export-file/src/test/java/org/apache/james/blob/export/file/FileSystemExtension.java @@ -19,11 +19,8 @@ package org.apache.james.blob.export.file; -import java.util.UUID; - import org.apache.commons.io.FileUtils; import org.apache.james.filesystem.api.FileSystem; -import org.apache.james.server.core.JamesServerResourceLoader; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.junit.jupiter.api.extension.AfterAllCallback; import org.junit.jupiter.api.extension.BeforeAllCallback; @@ -40,7 +37,7 @@ public class FileSystemExtension implements ParameterResolver, BeforeAllCallback @Override public void beforeAll(ExtensionContext context) { - fileSystem = new FileSystemImpl(new JamesServerResourceLoader("../testsFileSystemExtension/" + UUID.randomUUID())); + fileSystem = FileSystemImpl.forTesting(); } @Override diff --git a/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreDAOTest.java b/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreDAOTest.java index 08f4d52cc9..8f537b26fa 100644 --- a/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreDAOTest.java +++ b/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreDAOTest.java @@ -19,12 +19,9 @@ package org.apache.james.blob.file; -import java.util.UUID; - import org.apache.james.blob.api.BlobStoreDAO; import org.apache.james.blob.api.BlobStoreDAOContract; import org.apache.james.blob.api.HashBlobId; -import org.apache.james.server.core.JamesServerResourceLoader; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Disabled; @@ -35,8 +32,7 @@ class FileBlobStoreDAOTest implements BlobStoreDAOContract { @BeforeEach void setUp() throws Exception { - blobStore = new FileBlobStoreDAO(new FileSystemImpl(new JamesServerResourceLoader("../testsFileSystemExtension/" + UUID.randomUUID())), - new HashBlobId.Factory()); + blobStore = new FileBlobStoreDAO(FileSystemImpl.forTesting(), new HashBlobId.Factory()); } @Override diff --git a/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreGCAlgorithmTest.java b/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreGCAlgorithmTest.java index 9af4b9acd3..d13c223f84 100644 --- a/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreGCAlgorithmTest.java +++ b/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreGCAlgorithmTest.java @@ -19,12 +19,9 @@ package org.apache.james.blob.file; -import java.util.UUID; - import org.apache.james.blob.api.BlobStoreDAO; import org.apache.james.blob.api.HashBlobId; import org.apache.james.server.blob.deduplication.BloomFilterGCAlgorithmContract; -import org.apache.james.server.core.JamesServerResourceLoader; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.junit.jupiter.api.BeforeEach; @@ -34,8 +31,7 @@ public class FileBlobStoreGCAlgorithmTest implements BloomFilterGCAlgorithmContr @BeforeEach public void beforeEach() throws Exception { - blobStoreDAO = new FileBlobStoreDAO(new FileSystemImpl(new JamesServerResourceLoader("../testsFileSystemExtension/" + UUID.randomUUID())), - new HashBlobId.Factory()); + blobStoreDAO = new FileBlobStoreDAO(FileSystemImpl.forTesting(), new HashBlobId.Factory()); } @Override diff --git a/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStorePassThroughTest.java b/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStorePassThroughTest.java index 9b716d5c16..e0d15cdbcb 100644 --- a/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStorePassThroughTest.java +++ b/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStorePassThroughTest.java @@ -19,15 +19,12 @@ package org.apache.james.blob.file; -import java.util.UUID; - import org.apache.james.blob.api.BlobId; import org.apache.james.blob.api.BlobStore; import org.apache.james.blob.api.DeleteBlobStoreContract; import org.apache.james.blob.api.HashBlobId; import org.apache.james.blob.api.MetricableBlobStore; import org.apache.james.blob.api.MetricableBlobStoreContract; -import org.apache.james.server.core.JamesServerResourceLoader; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.junit.jupiter.api.BeforeEach; @@ -38,7 +35,7 @@ public class FileBlobStorePassThroughTest implements DeleteBlobStoreContract, Me @BeforeEach void setUp() { - FileSystemImpl fileSystem = new FileSystemImpl(new JamesServerResourceLoader("../testsFileSystemExtension/" + UUID.randomUUID())); + FileSystemImpl fileSystem = FileSystemImpl.forTesting(); blobStore = new MetricableBlobStore(metricsTestExtension.getMetricFactory(), new FileBlobStoreFactory(fileSystem).builder() .blobIdFactory(BLOB_ID_FACTORY) .defaultBucketName() diff --git a/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreTest.java b/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreTest.java index e7e7a1f7cf..2854c7b4d3 100644 --- a/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreTest.java +++ b/server/blob/blob-file/src/test/java/org/apache/james/blob/file/FileBlobStoreTest.java @@ -19,15 +19,12 @@ package org.apache.james.blob.file; -import java.util.UUID; - import org.apache.james.blob.api.BlobId; import org.apache.james.blob.api.BlobStore; import org.apache.james.blob.api.DeduplicationBlobStoreContract; import org.apache.james.blob.api.HashBlobId; import org.apache.james.blob.api.MetricableBlobStore; import org.apache.james.blob.api.MetricableBlobStoreContract; -import org.apache.james.server.core.JamesServerResourceLoader; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.junit.jupiter.api.BeforeEach; @@ -37,7 +34,7 @@ public class FileBlobStoreTest implements MetricableBlobStoreContract, Deduplica @BeforeEach void setUp() { - FileSystemImpl fileSystem = new FileSystemImpl(new JamesServerResourceLoader("../testsFileSystemExtension/" + UUID.randomUUID())); + FileSystemImpl fileSystem = FileSystemImpl.forTesting(); blobStore = new MetricableBlobStore(metricsTestExtension.getMetricFactory(), new FileBlobStoreFactory(fileSystem).builder() .blobIdFactory(BLOB_ID_FACTORY) .defaultBucketName() diff --git a/server/container/core/src/main/java/org/apache/james/server/core/filesystem/FileSystemImpl.java b/server/container/core/src/main/java/org/apache/james/server/core/filesystem/FileSystemImpl.java index 94b94aebdd..eed93cc64e 100644 --- a/server/container/core/src/main/java/org/apache/james/server/core/filesystem/FileSystemImpl.java +++ b/server/container/core/src/main/java/org/apache/james/server/core/filesystem/FileSystemImpl.java @@ -22,12 +22,27 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.util.UUID; import org.apache.james.filesystem.api.FileSystem; import org.apache.james.filesystem.api.JamesDirectoriesProvider; +import org.apache.james.server.core.JamesServerResourceLoader; +import org.apache.james.server.core.configuration.Configuration; public class FileSystemImpl implements FileSystem { + public static FileSystemImpl forTesting() { + return new FileSystemImpl(new JamesServerResourceLoader("../testsFileSystemExtension/" + UUID.randomUUID())); + } + + public static FileSystemImpl forTestingWithConfigurationFromClasspath() { + return new FileSystemImpl(Configuration.builder() + .workingDirectory("../") + .configurationFromClasspath() + .build() + .directories()); + } + private final JamesDirectoriesProvider directoryProvider; private final ResourceFactory resourceLoader; diff --git a/server/mailet/dkim/src/test/java/org/apache/james/jdkim/mailets/DKIMSignTest.java b/server/mailet/dkim/src/test/java/org/apache/james/jdkim/mailets/DKIMSignTest.java index 44549626b3..b661a6e3f6 100644 --- a/server/mailet/dkim/src/test/java/org/apache/james/jdkim/mailets/DKIMSignTest.java +++ b/server/mailet/dkim/src/test/java/org/apache/james/jdkim/mailets/DKIMSignTest.java @@ -27,7 +27,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.List; import java.util.Properties; -import java.util.UUID; import javax.mail.Address; import javax.mail.MessagingException; @@ -40,7 +39,6 @@ import org.apache.james.filesystem.api.FileSystem; import org.apache.james.jdkim.api.SignatureRecord; import org.apache.james.jdkim.exceptions.FailException; import org.apache.james.jdkim.exceptions.PermFailException; -import org.apache.james.server.core.JamesServerResourceLoader; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.apache.james.util.MimeMessageUtil; import org.apache.mailet.Mail; @@ -61,7 +59,7 @@ class DKIMSignTest { @BeforeEach void setUp() { - fileSystem = new FileSystemImpl(new JamesServerResourceLoader("../testsFileSystemExtension/" + UUID.randomUUID())); + fileSystem = FileSystemImpl.forTesting(); } @ParameterizedTest diff --git a/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java b/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java index c05aa98d88..5380d28dce 100644 --- a/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java +++ b/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java @@ -92,7 +92,6 @@ import org.apache.james.protocols.api.OIDCSASLHelper; import org.apache.james.protocols.api.utils.BogusSslContextFactory; import org.apache.james.protocols.api.utils.BogusTrustManagerFactory; import org.apache.james.protocols.lib.mock.ConfigLoader; -import org.apache.james.server.core.configuration.Configuration; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.apache.james.util.ClassLoaderUtils; import org.apache.james.util.concurrency.ConcurrentTestRunner; @@ -165,11 +164,7 @@ class IMAPServerTest { new ImapMetrics(metricFactory), new NoopGaugeRegistry()); - Configuration configuration = Configuration.builder() - .workingDirectory("../") - .configurationFromClasspath() - .build(); - FileSystemImpl fileSystem = new FileSystemImpl(configuration.directories()); + FileSystemImpl fileSystem = FileSystemImpl.forTestingWithConfigurationFromClasspath(); imapServer.setFileSystem(fileSystem); imapServer.configure(config); diff --git a/server/protocols/protocols-lmtp/src/test/java/org/apache/james/lmtpserver/LmtpServerTest.java b/server/protocols/protocols-lmtp/src/test/java/org/apache/james/lmtpserver/LmtpServerTest.java index 8d7e5bd743..d377fb6b5e 100644 --- a/server/protocols/protocols-lmtp/src/test/java/org/apache/james/lmtpserver/LmtpServerTest.java +++ b/server/protocols/protocols-lmtp/src/test/java/org/apache/james/lmtpserver/LmtpServerTest.java @@ -74,7 +74,6 @@ import org.apache.james.rrt.api.RecipientRewriteTableConfiguration; import org.apache.james.rrt.lib.AliasReverseResolverImpl; import org.apache.james.rrt.lib.CanSendFromImpl; import org.apache.james.rrt.memory.MemoryRecipientRewriteTable; -import org.apache.james.server.core.configuration.Configuration; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.apache.james.user.api.UsersRepository; import org.apache.james.user.memory.MemoryUsersRepository; @@ -142,10 +141,7 @@ class LmtpServerTest { usersRepository.addUser(Username.of("[email protected]"), "pwd"); usersRepository.addUser(Username.of("[email protected]"), "pwd"); - fileSystem = new FileSystemImpl(Configuration.builder() - .workingDirectory("../") - .configurationFromClasspath() - .build().directories()); + fileSystem = FileSystemImpl.forTestingWithConfigurationFromClasspath(); } @AfterEach diff --git a/server/protocols/protocols-pop3-distributed/src/test/java/org/apache/james/pop3server/mailbox/DistributedPop3ServerTest.java b/server/protocols/protocols-pop3-distributed/src/test/java/org/apache/james/pop3server/mailbox/DistributedPop3ServerTest.java index 8d066f4069..9aa82bb325 100644 --- a/server/protocols/protocols-pop3-distributed/src/test/java/org/apache/james/pop3server/mailbox/DistributedPop3ServerTest.java +++ b/server/protocols/protocols-pop3-distributed/src/test/java/org/apache/james/pop3server/mailbox/DistributedPop3ServerTest.java @@ -31,7 +31,6 @@ import org.apache.james.metrics.api.MetricFactory; import org.apache.james.metrics.tests.RecordingMetricFactory; import org.apache.james.pop3server.POP3ServerTest; import org.apache.james.protocols.lib.mock.MockProtocolHandlerLoader; -import org.apache.james.server.core.configuration.Configuration; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.apache.james.user.api.UsersRepository; import org.apache.james.user.api.UsersRepositoryException; @@ -59,11 +58,7 @@ public class DistributedPop3ServerTest extends POP3ServerTest { .build(); mailboxManager = memoryIntegrationResources .getMailboxManager(); - Configuration configuration = Configuration.builder() - .workingDirectory("../") - .configurationFromClasspath() - .build(); - fileSystem = new FileSystemImpl(configuration.directories()); + fileSystem = FileSystemImpl.forTestingWithConfigurationFromClasspath(); MemoryPop3MetadataStore metadataStore = new MemoryPop3MetadataStore(); mailboxManager.getEventBus().register( new PopulateMetadataStoreListener(metadataStore)); diff --git a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java index f5df2d54a7..c697903d79 100644 --- a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java +++ b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java @@ -62,7 +62,6 @@ import org.apache.james.protocols.api.utils.ProtocolServerUtils; import org.apache.james.protocols.lib.POP3BeforeSMTPHelper; import org.apache.james.protocols.lib.mock.ConfigLoader; import org.apache.james.protocols.lib.mock.MockProtocolHandlerLoader; -import org.apache.james.server.core.configuration.Configuration; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.apache.james.user.api.UsersRepository; import org.apache.james.user.api.UsersRepositoryException; @@ -948,11 +947,7 @@ public class POP3ServerTest { .storeQuotaManager() .build() .getMailboxManager(); - Configuration configuration = Configuration.builder() - .workingDirectory("../") - .configurationFromClasspath() - .build(); - fileSystem = new FileSystemImpl(configuration.directories()); + fileSystem = FileSystemImpl.forTestingWithConfigurationFromClasspath(); protocolHandlerChain = MockProtocolHandlerLoader.builder() .put(binder -> binder.bind(UsersRepository.class).toInstance(usersRepository)) diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/DSNTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/DSNTest.java index 699ccc0915..add23a0a01 100644 --- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/DSNTest.java +++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/DSNTest.java @@ -45,7 +45,7 @@ import org.junit.jupiter.api.Test; class DSNTest { protected Configuration configuration; - private SMTPServerTestSystem testSystem = new SMTPServerTestSystem(); + private final SMTPServerTestSystem testSystem = new SMTPServerTestSystem(); @BeforeEach void setUp() throws Exception { diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTestSystem.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTestSystem.java index c70f7b27e9..6b11d6181b 100644 --- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTestSystem.java +++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTestSystem.java @@ -23,7 +23,6 @@ import static org.mockito.Mockito.when; import java.net.InetSocketAddress; import java.time.Clock; -import java.time.Duration; import java.time.Instant; import java.time.ZoneId; @@ -62,7 +61,6 @@ import org.apache.james.rrt.api.RecipientRewriteTableConfiguration; import org.apache.james.rrt.lib.AliasReverseResolverImpl; import org.apache.james.rrt.lib.CanSendFromImpl; import org.apache.james.rrt.memory.MemoryRecipientRewriteTable; -import org.apache.james.server.core.configuration.Configuration; import org.apache.james.server.core.configuration.FileConfigurationProvider; import org.apache.james.server.core.filesystem.FileSystemImpl; import org.apache.james.smtpserver.netty.SMTPServer; @@ -85,7 +83,6 @@ class SMTPServerTestSystem { SMTPServerTest.AlterableDNSServer dnsServer; MemoryMailRepositoryStore mailRepositoryStore; FileSystemImpl fileSystem; - Configuration configuration; MockProtocolHandlerLoader chain; MemoryMailQueueFactory queueFactory; MemoryMailQueueFactory.MemoryCacheableMailQueue queue; @@ -126,11 +123,7 @@ class SMTPServerTestSystem { } protected void createMailRepositoryStore() throws Exception { - configuration = Configuration.builder() - .workingDirectory("../") - .configurationFromClasspath() - .build(); - fileSystem = new FileSystemImpl(configuration.directories()); + fileSystem = FileSystemImpl.forTestingWithConfigurationFromClasspath(); MemoryMailRepositoryUrlStore urlStore = new MemoryMailRepositoryUrlStore(); MailRepositoryStoreConfiguration configuration = MailRepositoryStoreConfiguration.forItems( --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
