This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 940ad8bb22e0f36a59e678810eb9871f4410f991 Author: Anton Goncharov <goncharov.a...@gmail.com> AuthorDate: Tue Nov 7 18:25:26 2023 +0100 Making use of junit5 @TempDir in TestSupport to control lifecycle of a temporary directory needed for testing. Removed deleteDirectory methods and their usage. Adapted test classes where needed, to propagate temp directory path to a spring or camel context, so it can be used in a file endpoint. --- .../spring/SendMessageOnRouteStartAndStopTest.java | 15 ++- .../org/apache/camel/spring/SpringTestSupport.java | 2 - .../camel/spring/StartAndStopEventNotifier.java | 4 +- .../file/SpringFileConsumerPreMoveIssueTest.java | 6 +- .../spring/file/SpringFileLanguageCBRTest.java | 13 +-- .../camel/spring/file/SpringFileRouteTest.java | 24 ++++- .../file/SpringSimpleFileNameWithQuoteTest.java | 24 ++++- .../issues/FileWireTapWithXMLPayloadIssueTest.java | 12 +-- ...ngPropertyPlaceholderFileEndpointIssueTest.java | 15 +-- .../issues/SpringRenameFileOnCommitIssueTest.java | 13 +-- ...uageWithSpringPropertyPlaceholderRouteTest.java | 24 ++++- .../FileConsumerSpringSchedulerTest.java | 13 +-- .../camel/spring/processor/SpringTestHelper.java | 10 +- .../FileConsumerIdempotentLoadStoreTest.java | 1 - .../file/SpringFileConsumerPreMoveIssueTest.xml | 2 +- .../spring/file/SpringFileConsumerPreMoveTest.xml | 2 +- .../spring/file/SpringFileLanguageCBRTest.xml | 2 +- .../spring/file/SpringFileRouteTest-context.xml | 2 +- .../SpringSimpleFileNameWithQuoteTest-context.xml | 2 +- .../issues/FileWireTapWithXMLPayloadIssueTest.xml | 2 +- .../issues/SpringPropertyPlaceholderIssueTest.xml | 2 +- .../issues/SpringRenameFileOnCommitIssueTest.xml | 2 +- .../apache/camel/spring/issues/myprop.properties | 2 +- .../spring/placeholder/bundle-context.properties | 4 +- .../FileConsumerSpringSchedulerTest.xml | 2 +- .../processor/ShutdownCompleteAllTasksTest.xml | 2 +- .../ShutdownCompleteCurrentTaskOnlyTest.xml | 2 +- ...etterChannelUseOriginalExchangeWithFileTest.xml | 2 +- .../FileConsumerIdempotentLoadStoreTest.xml | 4 +- .../idempotent/fileConsumerIdempotentTest.xml | 4 +- .../test/java/org/apache/camel/TestSupport.java | 102 +++++---------------- .../file/FileConsumeMaxMessagesPerPollTest.java | 12 +-- .../file/FileConsumeMoveRelativeNameTest.java | 6 +- .../file/FileConsumeMultipleDirectoriesTest.java | 12 +-- .../FileConsumeNotEagerMaxMessagesPerPollTest.java | 14 ++- ...ileConsumeSimpleAbsoluteMoveToAbsoluteTest.java | 10 +- ...ileConsumeSimpleAbsoluteMoveToRelativeTest.java | 17 ++-- ...ileConsumeSimpleRelativeMoveToRelativeTest.java | 4 +- ...erDirectoryMustExistBridgeErrorHandlerTest.java | 4 +- .../file/FileConsumerExtendedAttributesTest.java | 22 ++--- .../component/file/FileConsumerFileFilterTest.java | 5 +- .../file/FileConsumerFileNameFilterTest.java | 4 +- .../component/file/FileConsumerFilterFileTest.java | 10 +- ...rPreMoveCopyAndDeleteOnRenameFailFalseTest.java | 1 + .../file/FileConsumerPreMoveIssueTest.java | 13 ++- .../file/FileConsumerPreMoveNoopTest.java | 8 +- .../component/file/FileConsumerPreMoveTest.java | 10 +- .../file/FileConsumerRelativeFileNameTest.java | 8 +- .../file/FileConsumerSkipDotFilesTest.java | 9 +- .../file/FileExclusiveReadLockCopyTest.java | 6 +- ...lTest.java => FileExclusiveReadManualTest.java} | 7 +- .../file/FileExclusiveReadNoneStrategyTest.java | 2 +- .../file/FileHeaderFileNameProducedTest.java | 4 +- .../file/FileIdempotentReadSameFileAgainTest.java | 6 +- .../file/FileProduceTempFileNameTest.java | 18 ++-- .../component/file/FileProduceTempPrefixTest.java | 10 +- .../file/FileProducerCharsetUTFOptimizedTest.java | 6 -- .../file/FileProducerDirectoryChmodOptionTest.java | 13 ++- .../component/file/FileRecursiveNoopTest.java | 2 - .../component/file/FileSplitXPathCharsetTest.java | 11 ++- .../component/file/FilerProducerAbsoluteTest.java | 3 +- .../FileLockClusteredRoutePolicyFactoryTest.java | 8 +- .../cluster/FileLockClusteredRoutePolicyTest.java | 8 +- ...ponentLoadPropertiesFromFileTrimValuesTest.java | 1 - .../seda/FileSedaShutdownCompleteAllTasksTest.java | 4 +- .../XsltIncludeClasspathDotInDirectoryTest.java | 3 +- .../component/xslt/XsltOutputFileDeleteTest.java | 2 - .../camel/component/xslt/XsltOutputFileTest.java | 2 - .../converter/stream/CachedOutputStreamTest.java | 2 +- .../apache/camel/impl/FileStateRepositoryTest.java | 8 +- .../camel/processor/FileIdempotentClearTest.java | 2 +- .../FileIdempotentConsumerLoadStoreTest.java | 3 +- .../processor/FileIdempotentConsumerTest.java | 2 +- .../camel/processor/FileIdempotentRemoveTest.java | 3 +- .../processor/FileIdempotentTrunkStoreTest.java | 3 +- .../camel/processor/RouteFormattedUriTest.java | 2 +- .../processor/ShutdownCompleteAllTasksTest.java | 7 +- .../ShutdownCompleteCurrentTaskOnlyTest.java | 5 +- .../FileIdempotentStoreOrderingTest.java | 6 +- .../org/apache/camel/util/ResourceLoaderTest.java | 2 +- .../management/ManagedFileIdempotentClearTest.java | 2 +- .../ManagedFileIdempotentConsumerTest.java | 2 +- .../management/ManagedRouteDumpStrategyTest.java | 1 - 83 files changed, 339 insertions(+), 312 deletions(-) diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SendMessageOnRouteStartAndStopTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SendMessageOnRouteStartAndStopTest.java index 82066637f2f..c47a0df98ed 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SendMessageOnRouteStartAndStopTest.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SendMessageOnRouteStartAndStopTest.java @@ -16,10 +16,13 @@ */ package org.apache.camel.spring; +import java.nio.file.Path; + import org.apache.camel.component.mock.MockEndpoint; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import org.springframework.context.support.AbstractXmlApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; @@ -28,6 +31,9 @@ import org.springframework.context.support.ClassPathXmlApplicationContext; */ public class SendMessageOnRouteStartAndStopTest extends SpringTestSupport { + @TempDir + private static Path testDirectory; + @Override protected AbstractXmlApplicationContext createApplicationContext() { return new ClassPathXmlApplicationContext("org/apache/camel/spring/SendMessageOnRouteStartAndStopTest.xml"); @@ -37,10 +43,9 @@ public class SendMessageOnRouteStartAndStopTest extends SpringTestSupport { @BeforeEach public void setUp() throws Exception { super.setUp(); - // the event notifier should have send a message to the file endpoint // so the start file is created on startup - assertFileExists(testFile("start.txt")); + assertFileExists(testDirectory.resolve("start.txt")); } @Override @@ -50,7 +55,7 @@ public class SendMessageOnRouteStartAndStopTest extends SpringTestSupport { // the event notifier should have send a message to the file endpoint // so the stop file is created on shutdown - assertFileExists(testFile("stop.txt")); + assertFileExists(testDirectory.resolve("stop.txt")); } @Test @@ -64,4 +69,8 @@ public class SendMessageOnRouteStartAndStopTest extends SpringTestSupport { assertMockEndpointsSatisfied(); } + public static Path getTestDirectory() { + return testDirectory; + } + } diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SpringTestSupport.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SpringTestSupport.java index b6a55c3e675..0f1617d2dc9 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SpringTestSupport.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SpringTestSupport.java @@ -62,8 +62,6 @@ public abstract class SpringTestSupport extends ContextTestSupport { @BeforeEach @Override public void setUp() throws Exception { - deleteTestDirectory(); - DefaultCamelContext.setDisableJmx(!useJmx()); Class<?>[] excluded = excludeRoutes(); if (excluded != null && excluded.length > 0) { diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/StartAndStopEventNotifier.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/StartAndStopEventNotifier.java index 172d871cc7c..590b7523a0e 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/StartAndStopEventNotifier.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/StartAndStopEventNotifier.java @@ -21,7 +21,6 @@ import java.nio.file.Path; import org.apache.camel.CamelContext; import org.apache.camel.CamelContextAware; import org.apache.camel.ProducerTemplate; -import org.apache.camel.TestSupport; import org.apache.camel.spi.CamelEvent; import org.apache.camel.spi.CamelEvent.Type; import org.apache.camel.support.EventNotifierSupport; @@ -53,7 +52,8 @@ public class StartAndStopEventNotifier extends EventNotifierSupport implements C // Note: there is also a CamelContextStartingEvent which is send first // and then Camel is starting. And when all that is done this event // (CamelContextStartedEvent) is send - Path directory = TestSupport.testDirectory(SendMessageOnRouteStartAndStopTest.class, false); + Path directory = SendMessageOnRouteStartAndStopTest.getTestDirectory(); + // Path directory = SpringTestSupport.testDirectory(SendMessageOnRouteStartAndStopTest.class, false); if (event.getType() == Type.CamelContextStarted) { LOG.info("Sending a message on startup..."); template.sendBody("file:" + directory + "?fileName=start.txt", "Starting"); diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.java index 6d4c6607d47..3a567170e23 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.java @@ -16,6 +16,8 @@ */ package org.apache.camel.spring.file; +import java.util.Map; + import org.apache.camel.CamelContext; import org.apache.camel.component.file.FileConsumerPreMoveIssueTest; @@ -25,7 +27,9 @@ public class SpringFileConsumerPreMoveIssueTest extends FileConsumerPreMoveIssue @Override protected CamelContext createCamelContext() throws Exception { - return createSpringCamelContext(this, "org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml"); + + return createSpringCamelContext(this, "org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml", + Map.of("testDirectory", testDirectory())); } static class MyPreMoveCheckerProcessor extends FileConsumerPreMoveIssueTest.MyPreMoveCheckerProcessor { diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileLanguageCBRTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileLanguageCBRTest.java index 31f12779df1..ccb1042aa90 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileLanguageCBRTest.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileLanguageCBRTest.java @@ -16,17 +16,18 @@ */ package org.apache.camel.spring.file; +import org.apache.camel.CamelContext; +import org.apache.camel.ContextTestSupport; import org.apache.camel.Exchange; -import org.apache.camel.spring.SpringTestSupport; import org.junit.jupiter.api.Test; -import org.springframework.context.support.AbstractXmlApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; -public class SpringFileLanguageCBRTest extends SpringTestSupport { +import static org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext; + +public class SpringFileLanguageCBRTest extends ContextTestSupport { @Override - protected AbstractXmlApplicationContext createApplicationContext() { - return new ClassPathXmlApplicationContext("org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml"); + protected CamelContext createCamelContext() throws Exception { + return createSpringCamelContext(this, "org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml"); } @Test diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileRouteTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileRouteTest.java index bed77dda3e8..003c17d26b9 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileRouteTest.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileRouteTest.java @@ -16,6 +16,8 @@ */ package org.apache.camel.spring.file; +import java.nio.file.Path; + import org.apache.camel.Endpoint; import org.apache.camel.EndpointInject; import org.apache.camel.Exchange; @@ -23,13 +25,17 @@ import org.apache.camel.ProducerTemplate; import org.apache.camel.component.file.FileEndpoint; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.spring.SpringRunWithTestSupport; +import org.apache.camel.spring.file.SpringFileRouteTest.TestDirectoryContextInitializer; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContextInitializer; +import org.springframework.context.ConfigurableApplicationContext; import org.springframework.test.context.ContextConfiguration; import static org.junit.jupiter.api.Assertions.assertEquals; -@ContextConfiguration +@ContextConfiguration(initializers = TestDirectoryContextInitializer.class) public class SpringFileRouteTest extends SpringRunWithTestSupport { protected String expectedBody = "Hello World!"; @Autowired @@ -38,6 +44,8 @@ public class SpringFileRouteTest extends SpringRunWithTestSupport { protected Endpoint inputFile; @EndpointInject("mock:result") protected MockEndpoint result; + @TempDir + private static Path tempDir; @Test public void testMocksAreValid() throws Exception { @@ -53,4 +61,18 @@ public class SpringFileRouteTest extends SpringRunWithTestSupport { result.assertIsSatisfied(); } + @Override + public Path testDirectory() { + return tempDir; + } + + static class TestDirectoryContextInitializer + implements + ApplicationContextInitializer<ConfigurableApplicationContext> { + @Override + public void initialize(ConfigurableApplicationContext context) { + context.getEnvironment().getSystemProperties().put("testDirectory", tempDir.toString()); + } + } + } diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest.java index e7670f80483..9d7491ee4a1 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest.java @@ -16,22 +16,30 @@ */ package org.apache.camel.spring.file; +import java.nio.file.Path; + import org.apache.camel.EndpointInject; import org.apache.camel.Exchange; import org.apache.camel.ProducerTemplate; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.spring.SpringRunWithTestSupport; +import org.apache.camel.spring.file.SpringSimpleFileNameWithQuoteTest.TestDirectoryContextInitializer; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContextInitializer; +import org.springframework.context.ConfigurableApplicationContext; import org.springframework.test.context.ContextConfiguration; -@ContextConfiguration +@ContextConfiguration(initializers = TestDirectoryContextInitializer.class) public class SpringSimpleFileNameWithQuoteTest extends SpringRunWithTestSupport { protected String expectedBody = "Hello World!"; @Autowired protected ProducerTemplate template; @EndpointInject("mock:result") protected MockEndpoint result; + @TempDir + private static Path tempDir; @Test public void testMocksAreValid() throws Exception { @@ -43,4 +51,18 @@ public class SpringSimpleFileNameWithQuoteTest extends SpringRunWithTestSupport result.assertIsSatisfied(); } + @Override + public Path testDirectory() { + return tempDir; + } + + static class TestDirectoryContextInitializer + implements + ApplicationContextInitializer<ConfigurableApplicationContext> { + @Override + public void initialize(ConfigurableApplicationContext context) { + context.getEnvironment().getSystemProperties().put("testDirectory", tempDir.toString()); + } + } + } diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.java index ff5cd78a687..0e69f585fa6 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.java @@ -16,17 +16,17 @@ */ package org.apache.camel.spring.issues; +import org.apache.camel.CamelContext; +import org.apache.camel.ContextTestSupport; import org.apache.camel.Exchange; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.spring.SpringTestSupport; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.context.support.AbstractXmlApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; +import static org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext; import static org.junit.jupiter.api.Assertions.assertEquals; -public class FileWireTapWithXMLPayloadIssueTest extends SpringTestSupport { +public class FileWireTapWithXMLPayloadIssueTest extends ContextTestSupport { @Override @BeforeEach @@ -55,7 +55,7 @@ public class FileWireTapWithXMLPayloadIssueTest extends SpringTestSupport { } @Override - protected AbstractXmlApplicationContext createApplicationContext() { - return new ClassPathXmlApplicationContext("org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml"); + protected CamelContext createCamelContext() throws Exception { + return createSpringCamelContext(this, "org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml"); } } diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringPropertyPlaceholderFileEndpointIssueTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringPropertyPlaceholderFileEndpointIssueTest.java index 5c1d5b332f3..fe0a6e1cafb 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringPropertyPlaceholderFileEndpointIssueTest.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringPropertyPlaceholderFileEndpointIssueTest.java @@ -16,24 +16,25 @@ */ package org.apache.camel.spring.issues; +import org.apache.camel.CamelContext; +import org.apache.camel.ContextTestSupport; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.spring.SpringTestSupport; import org.junit.jupiter.api.Test; -import org.springframework.context.support.AbstractXmlApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; -public class SpringPropertyPlaceholderFileEndpointIssueTest extends SpringTestSupport { +import static org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext; + +public class SpringPropertyPlaceholderFileEndpointIssueTest extends ContextTestSupport { @Override - protected AbstractXmlApplicationContext createApplicationContext() { - return new ClassPathXmlApplicationContext("org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml"); + protected CamelContext createCamelContext() throws Exception { + return createSpringCamelContext(this, "org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml"); } @Test public void testSpring() throws Exception { MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedMessageCount(1); - mock.expectedFileExists(testFile("foo.txt")); + mock.expectedFileExists(testFile("target/foo.txt")); template.sendBodyAndHeader("direct:start", "Hello World", "foo", "foo.txt"); diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.java index 18d48ad4608..83618bede27 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.java @@ -16,14 +16,15 @@ */ package org.apache.camel.spring.issues; +import org.apache.camel.CamelContext; +import org.apache.camel.ContextTestSupport; import org.apache.camel.Exchange; import org.apache.camel.component.mock.MockEndpoint; -import org.apache.camel.spring.SpringTestSupport; import org.junit.jupiter.api.Test; -import org.springframework.context.support.AbstractXmlApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; -public class SpringRenameFileOnCommitIssueTest extends SpringTestSupport { +import static org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext; + +public class SpringRenameFileOnCommitIssueTest extends ContextTestSupport { @Test public void testFileRenameFileOnCommitIssue() throws Exception { @@ -40,8 +41,8 @@ public class SpringRenameFileOnCommitIssueTest extends SpringTestSupport { } @Override - protected AbstractXmlApplicationContext createApplicationContext() { - return new ClassPathXmlApplicationContext("org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml"); + protected CamelContext createCamelContext() throws Exception { + return createSpringCamelContext(this, "org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml"); } } diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRouteTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRouteTest.java index acb5fd8078d..62b814e2160 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRouteTest.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRouteTest.java @@ -16,6 +16,7 @@ */ package org.apache.camel.spring.placeholder; +import java.nio.file.Path; import java.text.SimpleDateFormat; import java.util.Date; import java.util.concurrent.TimeUnit; @@ -23,19 +24,26 @@ import java.util.concurrent.TimeUnit; import org.apache.camel.Produce; import org.apache.camel.ProducerTemplate; import org.apache.camel.spring.SpringRunWithTestSupport; +import org.apache.camel.spring.placeholder.SimpleLanguageWithSpringPropertyPlaceholderRouteTest.TestDirectoryContextInitializer; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; +import org.springframework.context.ApplicationContextInitializer; +import org.springframework.context.ConfigurableApplicationContext; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import static org.awaitility.Awaitility.await; -@ContextConfiguration +@ContextConfiguration(initializers = TestDirectoryContextInitializer.class) public class SimpleLanguageWithSpringPropertyPlaceholderRouteTest extends SpringRunWithTestSupport { @Produce("direct:startSimple") protected ProducerTemplate template; + @TempDir + private static Path tempDir; + @Test @DirtiesContext public void replaceSimpleExpression() throws Exception { @@ -60,4 +68,18 @@ public class SimpleLanguageWithSpringPropertyPlaceholderRouteTest extends Spring return "test-" + s + ".txt"; } + @Override + public Path testDirectory() { + return tempDir; + } + + static class TestDirectoryContextInitializer + implements + ApplicationContextInitializer<ConfigurableApplicationContext> { + @Override + public void initialize(ConfigurableApplicationContext context) { + context.getEnvironment().getSystemProperties().put("testDirectory", tempDir.toString()); + } + } + } diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.java index def3d4218c2..1e69d70d9e8 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.java @@ -16,17 +16,18 @@ */ package org.apache.camel.spring.pollingconsumer; +import org.apache.camel.CamelContext; +import org.apache.camel.ContextTestSupport; import org.apache.camel.Exchange; -import org.apache.camel.spring.SpringTestSupport; import org.junit.jupiter.api.Test; -import org.springframework.context.support.AbstractXmlApplicationContext; -import org.springframework.context.support.ClassPathXmlApplicationContext; -public class FileConsumerSpringSchedulerTest extends SpringTestSupport { +import static org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext; + +public class FileConsumerSpringSchedulerTest extends ContextTestSupport { @Override - protected AbstractXmlApplicationContext createApplicationContext() { - return new ClassPathXmlApplicationContext( + protected CamelContext createCamelContext() throws Exception { + return createSpringCamelContext(this, "org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.xml"); } diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java index 5c2615c75b0..a57b10e124a 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java @@ -29,6 +29,8 @@ import org.springframework.context.support.ClassPathXmlApplicationContext; public final class SpringTestHelper { + public static final String PROPERTY_TEST_DIR = "testDirectory"; + private SpringTestHelper() { } @@ -44,7 +46,10 @@ public final class SpringTestHelper { final AbstractXmlApplicationContext applicationContext; try { DefaultCamelContext.setNoStart(true); - applicationContext = new ClassPathXmlApplicationContext(classpathUri); + applicationContext = new ClassPathXmlApplicationContext(new String[] { classpathUri }, false); + applicationContext.getEnvironment().getSystemProperties().put( + PROPERTY_TEST_DIR, test.testDirectory().toString()); + applicationContext.refresh(); } finally { DefaultCamelContext.setNoStart(isNoStart); } @@ -57,11 +62,12 @@ public final class SpringTestHelper { applicationContext.stop(); } }); - SpringCamelContext context = SpringCamelContext.springCamelContext(applicationContext, false); for (Map.Entry<String, Object> entry : beans.entrySet()) { context.getCamelContextExtension().getRegistry().bind(entry.getKey(), entry.getValue()); } + context.getCamelContextExtension().getRegistry().bind(PROPERTY_TEST_DIR, test.testDirectory()); + context.getPropertiesComponent().addInitialProperty(PROPERTY_TEST_DIR, test.testDirectory().toString()); if (!isNoStart) { context.start(); } diff --git a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.java b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.java index f7b24c38491..51a1ec4080e 100644 --- a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.java +++ b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.java @@ -47,7 +47,6 @@ public class FileConsumerIdempotentLoadStoreTest extends ContextTestSupport { @BeforeEach public void setUp() throws Exception { super.setUp(); - Path file = testFile(".filestore.dat"); try (Writer w = Files.newBufferedWriter(file)) { w.write(testFile("report.txt").toAbsolutePath().toString() + LS); diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml index 1ac2f0e1152..19ad95c3d3e 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml @@ -27,7 +27,7 @@ <camelContext xmlns="http://camel.apache.org/schema/spring"> <jmxAgent id="jmx" disabled="true"/> <route> - <from uri="file://target/data/SpringFileConsumerPreMoveIssueTest?initialDelay=0&delay=10&preMove=before/${file:name.noext}-moved.${file:ext}"/> + <from uri="file:{{testDirectory}}?initialDelay=0&delay=10&preMove=before/${file:name.noext}-moved.${file:ext}"/> <process ref="checker"/> <to uri="mock:result"/> </route> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.xml index 25efa10b2bd..1789e01d98e 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.xml @@ -27,7 +27,7 @@ <camelContext xmlns="http://camel.apache.org/schema/spring"> <jmxAgent id="jmx" disabled="true"/> <route> - <from uri="file://target/data/SpringFileConsumerPreMoveTest?initialDelay=0&delay=10&preMove=work/work-${file:name}"/> + <from uri="file:{{testDirectory}}?initialDelay=0&delay=10&preMove=work/work-${file:name}"/> <process ref="checker"/> <to uri="mock:result"/> </route> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml index 5829f0fbca0..0dba3adc38c 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml @@ -28,7 +28,7 @@ <camelContext xmlns="http://camel.apache.org/schema/spring"> <jmxAgent id="jmx" disabled="true"/> <route> - <from uri="file://target/data/SpringFileLanguageCBRTest?initialDelay=0&delay=10&delete=true"/> + <from uri="file:{{testDirectory}}?initialDelay=0&delay=10&delete=true"/> <choice> <when> <simple>${file:ext} == 'txt'</simple> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileRouteTest-context.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileRouteTest-context.xml index 8fbc6a45bea..3a494b7112a 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileRouteTest-context.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileRouteTest-context.xml @@ -36,7 +36,7 @@ </camelContext> <bean id="inputFile" class="org.apache.camel.component.file.FileEndpoint"> - <property name="file" value="target/data/SpringFileRouteTest"/> + <property name="file" value="#{systemProperties['testDirectory']}"/> </bean> <!-- END SNIPPET: example --> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest-context.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest-context.xml index 7395df31595..db723ee7b91 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest-context.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest-context.xml @@ -27,7 +27,7 @@ <camelContext xmlns="http://camel.apache.org/schema/spring"> <jmxAgent id="jmx" disabled="true"/> <route> - <from uri="file://target/data/SpringSimpleFileNameWithQuoteTest?initialDelay=0&delay=10"/> + <from uri="file:{{testDirectory}}?initialDelay=0&delay=10"/> <setHeader name="foo"> <simple>"${file:name}" abc</simple> </setHeader> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml index 54d80f19421..12539dcb971 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml @@ -27,7 +27,7 @@ <camelContext xmlns="http://camel.apache.org/schema/spring"> <jmxAgent id="jmx" disabled="true"/> <route> - <from uri="file://target/data/FileWireTapWithXMLPayloadIssueTest?initialDelay=0&delay=10"/> + <from uri="file:{{testDirectory}}?initialDelay=0&delay=10"/> <convertBodyTo type="java.lang.String"/> <wireTap uri="mock:wiretap"/> <to uri="mock:result"/> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml index 62fd3be8584..13a0c3084e3 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml @@ -35,7 +35,7 @@ <!-- use $simple{ start token in the fileName parameter to avoid clash with spring property placeholder. However we can still use spring property placeholders for the output folder --> - <endpoint id="myFile" uri="file://${outputFolder}?fileName=$simple{header.foo}"/> + <endpoint id="myFile" uri="file:{{testDirectory}}/${outputFolder}?fileName=$simple{header.foo}"/> <route> <from uri="direct:start"/> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml index b21c213e78f..3519157cbdb 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml @@ -27,7 +27,7 @@ <camelContext trace="true" xmlns="http://camel.apache.org/schema/spring"> <route> - <from uri="file://target/data/SpringRenameFileOnCommitIssueTest?initialDelay=0&delay=10&noop=false"/> + <from uri="file:{{testDirectory}}?initialDelay=0&delay=10&noop=false"/> <setProperty name="PartitionID"> <xpath>//persons/person[1]/@name</xpath> </setProperty> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/myprop.properties b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/myprop.properties index f00b49c4278..c2f066a8f4e 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/myprop.properties +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/myprop.properties @@ -17,6 +17,6 @@ inputQueue=direct:start -outputFolder=target/data/SpringPropertyPlaceholderFileEndpointIssueTest +outputFolder=target myCharset=utf-8 diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties index 2e0b1405f5f..64a91f5b494 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties @@ -16,7 +16,7 @@ ## --------------------------------------------------------------------------- fromEndpoint=direct:start -toEndpoint=file://target/data/SimpleLanguageWithSpringPropertyPlaceholderRouteTest/outBox?fileName=test-${date:now:yyyyMMdd}.txt +toEndpoint=file:{{testDirectory}}/outBox?fileName=test-${date:now:yyyyMMdd}.txt fromEndpointSimple=direct:startSimple -toEndpointSimple=file://target/data/SimpleLanguageWithSpringPropertyPlaceholderRouteTest/outBoxSimple?fileName=test-$simple{date:now:yyyyMMdd}.txt +toEndpointSimple=file:{{testDirectory}}/outBoxSimple?fileName=test-$simple{date:now:yyyyMMdd}.txt diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.xml index 40259e361a5..edbff3679c1 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.xml @@ -29,7 +29,7 @@ <camelContext xmlns="http://camel.apache.org/schema/spring"> <jmxAgent id="jmx" disabled="true"/> <route id="foo" autoStartup="false"> - <from uri="file:target/data/FileConsumerSpringSchedulerTest?scheduler=spring&scheduler.cron=0/2+*+*+*+*+?"/> + <from uri="file:{{testDirectory}}?scheduler=spring&scheduler.cron=0/2+*+*+*+*+?"/> <to uri="log:result"/> <to uri="mock:result"/> </route> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteAllTasksTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteAllTasksTest.xml index 8d824afd0b4..b28da3b744e 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteAllTasksTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteAllTasksTest.xml @@ -34,7 +34,7 @@ <jmxAgent id="jmx" disabled="true"/> <!-- let this route complete all its pending messages when asked to shutdown --> <route id="foo" autoStartup="false" shutdownRunningTask="CompleteAllTasks"> - <from uri="file:target/data/SpringShutdownCompleteAllTasksTest?initialDelay=0&delay=10&synchronous=true"/> + <from uri="file:{{testDirectory}}?initialDelay=0&delay=10&synchronous=true"/> <delay><constant>1000</constant></delay> <process ref="myProcessor"/> <to uri="mock:bar"/> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteCurrentTaskOnlyTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteCurrentTaskOnlyTest.xml index 118e35b3699..3300ce1cd20 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteCurrentTaskOnlyTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteCurrentTaskOnlyTest.xml @@ -32,7 +32,7 @@ <camelContext xmlns="http://camel.apache.org/schema/spring"> <jmxAgent id="jmx" disabled="true"/> <route startupOrder="1" shutdownRunningTask="CompleteCurrentTaskOnly"> - <from uri="file:target/data/SpringShutdownCompleteCurrentTaskOnlyTest?initialDelay=0&delay=10&synchronous=true"/> + <from uri="file:{{testDirectory}}?initialDelay=0&delay=10&synchronous=true"/> <delay><constant>1000</constant></delay> <to uri="seda:foo"/> </route> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelUseOriginalExchangeWithFileTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelUseOriginalExchangeWithFileTest.xml index b1ff909e160..281124792ba 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelUseOriginalExchangeWithFileTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelUseOriginalExchangeWithFileTest.xml @@ -57,7 +57,7 @@ <camelContext xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="dead"> <route> - <from uri="file://target/data/SpringDeadLetterChannelUseOriginalBodyWithFileTest?initialDelay=0&delay=10&noop=true"/> + <from uri="file:{{testDirectory}}?initialDelay=0&delay=10&noop=true"/> <transform><simple>${in.body} World</simple></transform> <process ref="myThrowProcessor"/> </route> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.xml index 5b02d61266d..b857746d515 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.xml @@ -28,7 +28,7 @@ <!-- this is our file based idempotent store configured to use the .filestore.dat as file --> <bean id="fileStore" class="org.apache.camel.support.processor.idempotent.FileIdempotentRepository"> <!-- the filename for the store --> - <property name="fileStore" value="target/data/FileConsumerIdempotentLoadStoreTest/.filestore.dat"/> + <property name="fileStore" value="#{systemProperties['testDirectory']}/.filestore.dat"/> <!-- the max filesize in bytes for the file. Camel will trunk and flush the cache if the file gets bigger --> <property name="maxFileStoreSize" value="512000"/> @@ -39,7 +39,7 @@ <camelContext xmlns="http://camel.apache.org/schema/spring"> <jmxAgent id="jmx" disabled="true"/> <route> - <from uri="file://target/data/FileConsumerIdempotentLoadStoreTest/?initialDelay=0&delay=10&idempotent=true&idempotentRepository=#fileStore&move=done/${file:name}"/> + <from uri="file:{{testDirectory}}?initialDelay=0&delay=10&idempotent=true&idempotentRepository=#fileStore&move=done/${file:name}"/> <to uri="mock:result"/> </route> </camelContext> diff --git a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/fileConsumerIdempotentTest.xml b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/fileConsumerIdempotentTest.xml index d852cb9f94b..b857746d515 100644 --- a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/fileConsumerIdempotentTest.xml +++ b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/fileConsumerIdempotentTest.xml @@ -28,7 +28,7 @@ <!-- this is our file based idempotent store configured to use the .filestore.dat as file --> <bean id="fileStore" class="org.apache.camel.support.processor.idempotent.FileIdempotentRepository"> <!-- the filename for the store --> - <property name="fileStore" value="target/data/FileConsumerIdempotentTest/.filestore.dat"/> + <property name="fileStore" value="#{systemProperties['testDirectory']}/.filestore.dat"/> <!-- the max filesize in bytes for the file. Camel will trunk and flush the cache if the file gets bigger --> <property name="maxFileStoreSize" value="512000"/> @@ -39,7 +39,7 @@ <camelContext xmlns="http://camel.apache.org/schema/spring"> <jmxAgent id="jmx" disabled="true"/> <route> - <from uri="file://target/data/FileConsumerIdempotentTest/?initialDelay=0&delay=10&idempotent=true&idempotentRepository=#fileStore&move=done/${file:name}"/> + <from uri="file:{{testDirectory}}?initialDelay=0&delay=10&idempotent=true&idempotentRepository=#fileStore&move=done/${file:name}"/> <to uri="mock:result"/> </route> </camelContext> diff --git a/core/camel-core/src/test/java/org/apache/camel/TestSupport.java b/core/camel-core/src/test/java/org/apache/camel/TestSupport.java index 69096982481..29604c205f3 100644 --- a/core/camel-core/src/test/java/org/apache/camel/TestSupport.java +++ b/core/camel-core/src/test/java/org/apache/camel/TestSupport.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.lang.reflect.Method; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collection; import java.util.List; import java.util.Locale; @@ -40,6 +39,7 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.TestInfo; +import org.junit.jupiter.api.io.TempDir; import org.junit.jupiter.api.parallel.ResourceAccessMode; import org.junit.jupiter.api.parallel.ResourceLock; import org.junit.jupiter.api.parallel.Resources; @@ -61,10 +61,12 @@ public abstract class TestSupport { private static final Logger LOG = LoggerFactory.getLogger(TestSupport.class); protected TestInfo info; - protected boolean testDirectoryCleaned; protected Logger log = LoggerFactory.getLogger(getClass()); + @TempDir + private Path tempDirectory; + @Override public String toString() { return getName() + "(" + getClass().getName() + ")"; @@ -82,73 +84,48 @@ public abstract class TestSupport { @BeforeEach public void setUp() throws Exception { Assumptions.assumeTrue(canRunOnThisPlatform()); - deleteTestDirectory(); - } - - public void deleteTestDirectory() { - if (!testDirectoryCleaned) { - deleteDirectory(testDirectory().toFile()); - testDirectoryCleaned = true; - } } @AfterEach public void tearDown() throws Exception { // make sure we cleanup the platform mbean server TestSupportJmxCleanup.removeMBeans(null); - testDirectoryCleaned = false; - } - - protected Path testDirectory() { - return testDirectory(false); - } - - protected Path testDirectory(boolean create) { - Class<?> testClass = getClass(); - if (create) { - deleteTestDirectory(); - } - return testDirectory(testClass, create); } - public static Path testDirectory(Class<?> testClass, boolean create) { - Path dir = Paths.get("target", "data", testClass.getSimpleName()); - if (create) { - try { - Files.createDirectories(dir); - } catch (IOException e) { - throw new IllegalStateException("Unable to create test directory: " + dir, e); - } - } - return dir; + public Path testDirectory() { + return tempDirectory; } - protected Path testFile(String dir) { - return testDirectory().resolve(dir); + protected Path testFile(String file) { + return testDirectory().resolve(file); } - protected Path testDirectory(String dir) { - return testDirectory(dir, false); + protected Path testDirectory(String path) { + return testDirectory(path, false); } - protected Path testDirectory(String dir, boolean create) { - Path f = testDirectory().resolve(dir); + protected Path testDirectory(String path, boolean create) { + Path resolvedPath = testDirectory().resolve(path); if (create) { try { - Files.createDirectories(f); + Files.createDirectories(resolvedPath); } catch (IOException e) { - throw new IllegalStateException("Unable to create test directory: " + dir, e); + throw new IllegalStateException("Unable to create test directory: " + resolvedPath, e); } } - return f; + return resolvedPath; } protected String fileUri() { - return "file:" + testDirectory(); + return "file:" + tempDirectory; } protected String fileUri(String query) { - return "file:" + testDirectory() + (query.startsWith("?") ? "" : "/") + query; + return fileUri(tempDirectory, query); + } + + protected String fileUri(Path directory, String query) { + return "file:" + directory + (query.startsWith("?") ? "" : "/") + query; } protected boolean canRunOnThisPlatform() { @@ -445,43 +422,6 @@ public abstract class TestSupport { } } - /** - * Recursively delete a directory, useful to zapping test data - * - * @param file the directory to be deleted - */ - public static void deleteDirectory(String file) { - deleteDirectory(new File(file)); - } - - /** - * Recursively delete a directory, useful to zapping test data - * - * @param file the directory to be deleted - */ - public static void deleteDirectory(File file) { - if (file.isDirectory()) { - File[] files = file.listFiles(); - if (files != null) { - for (File child : files) { - deleteDirectory(child); - } - } - } - - file.delete(); - } - - /** - * create the directory - * - * @param file the directory to be created - */ - public static void createDirectory(String file) { - File dir = new File(file); - dir.mkdirs(); - } - /** * To be used for folder/directory comparison that works across different platforms such as Window, Mac and Linux. */ diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMaxMessagesPerPollTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMaxMessagesPerPollTest.java index c36087d7d73..d9223fe0a92 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMaxMessagesPerPollTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMaxMessagesPerPollTest.java @@ -27,7 +27,7 @@ import org.junit.jupiter.api.Test; */ public class FileConsumeMaxMessagesPerPollTest extends ContextTestSupport { - private String fileUrl = fileUri("?initialDelay=0&delay=10&maxMessagesPerPoll=2"); + public static final String FILE_QUERY = "?initialDelay=0&delay=10&maxMessagesPerPoll=2"; @Test public void testMaxMessagesPerPoll() throws Exception { @@ -36,10 +36,10 @@ public class FileConsumeMaxMessagesPerPollTest extends ContextTestSupport { mock.expectedMinimumMessageCount(2); mock.message(0).exchangeProperty(Exchange.BATCH_SIZE).isEqualTo(2); mock.message(1).exchangeProperty(Exchange.BATCH_SIZE).isEqualTo(2); - - template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, "bye.txt"); - template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, "hello.txt"); - template.sendBodyAndHeader(fileUrl, "Godday World", Exchange.FILE_NAME, "godday.txt"); + String fileUri = fileUri(FILE_QUERY); + template.sendBodyAndHeader(fileUri, "Bye World", Exchange.FILE_NAME, "bye.txt"); + template.sendBodyAndHeader(fileUri, "Hello World", Exchange.FILE_NAME, "hello.txt"); + template.sendBodyAndHeader(fileUri, "Godday World", Exchange.FILE_NAME, "godday.txt"); // start route context.getRouteController().startRoute("foo"); @@ -51,7 +51,7 @@ public class FileConsumeMaxMessagesPerPollTest extends ContextTestSupport { protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from(fileUrl).routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result"); + from(fileUri(FILE_QUERY)).routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result"); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java index aeabcc74f6f..768b55728a0 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java @@ -27,7 +27,7 @@ import org.junit.jupiter.api.Test; */ public class FileConsumeMoveRelativeNameTest extends ContextTestSupport { - private String fileUrl = fileUri("?initialDelay=0&delay=10&recursive=true&move=.done/${file:name}.old"); + public static final String FILE_QUERY = "?initialDelay=0&delay=10&recursive=true&move=.done/${file:name}.old"; @Test public void testMultiDir() throws Exception { @@ -37,7 +37,7 @@ public class FileConsumeMoveRelativeNameTest extends ContextTestSupport { mock.expectedFileExists(testFile(".done/bye.txt.old")); mock.expectedFileExists(testFile(".done/sub/hello.txt.old")); mock.expectedFileExists(testFile(".done/sub/sub2/goodday.txt.old")); - + String fileUrl = fileUri(FILE_QUERY); template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, "bye.txt"); template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, "sub/hello.txt"); template.sendBodyAndHeader(fileUrl, "Goodday World", Exchange.FILE_NAME, "sub/sub2/goodday.txt"); @@ -51,7 +51,7 @@ public class FileConsumeMoveRelativeNameTest extends ContextTestSupport { protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from(fileUrl).routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result"); + from(fileUri(FILE_QUERY)).routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result"); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java index f26063916a0..e293dcde412 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java @@ -31,17 +31,17 @@ import static org.junit.jupiter.api.Assertions.assertEquals; */ public class FileConsumeMultipleDirectoriesTest extends ContextTestSupport { - private String fileUrl = fileUri("?initialDelay=0&delay=10&recursive=true&delete=true&sortBy=file:path"); + public static final String FILE_QUERY = "?initialDelay=0&delay=10&recursive=true&delete=true&sortBy=file:path"; @SuppressWarnings("unchecked") @Test public void testMultiDir() throws Exception { MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedBodiesReceived("Bye World", "Hello World", "Godday World"); - - template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, "bye.txt"); - template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, "sub/hello.txt"); - template.sendBodyAndHeader(fileUrl, "Godday World", Exchange.FILE_NAME, "sub/sub2/godday.txt"); + String fileUri = fileUri(FILE_QUERY); + template.sendBodyAndHeader(fileUri, "Bye World", Exchange.FILE_NAME, "bye.txt"); + template.sendBodyAndHeader(fileUri, "Hello World", Exchange.FILE_NAME, "sub/hello.txt"); + template.sendBodyAndHeader(fileUri, "Godday World", Exchange.FILE_NAME, "sub/sub2/godday.txt"); assertMockEndpointsSatisfied(); @@ -68,7 +68,7 @@ public class FileConsumeMultipleDirectoriesTest extends ContextTestSupport { protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from(fileUrl).convertBodyTo(String.class).to("mock:result"); + from(fileUri(FILE_QUERY)).convertBodyTo(String.class).to("mock:result"); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeNotEagerMaxMessagesPerPollTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeNotEagerMaxMessagesPerPollTest.java index b63a26f4093..d9476e8b2ff 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeNotEagerMaxMessagesPerPollTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeNotEagerMaxMessagesPerPollTest.java @@ -29,18 +29,14 @@ import org.junit.jupiter.api.parallel.Isolated; @Isolated public class FileConsumeNotEagerMaxMessagesPerPollTest extends ContextTestSupport { - // sort by name and not eager, then we should pickup the files in order - private String fileUrl = fileUri("?initialDelay=0&delay=10&" - + "maxMessagesPerPoll=2&eagerMaxMessagesPerPoll=false&sortBy=file:name"); - @Test public void testMaxMessagesPerPoll() throws Exception { MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedBodiesReceived("AAA", "BBB"); - template.sendBodyAndHeader(fileUrl, "CCC", Exchange.FILE_NAME, "ccc.FileConsumeNotEagerMaxMessagesPerPollTest.txt"); - template.sendBodyAndHeader(fileUrl, "AAA", Exchange.FILE_NAME, "aaa.FileConsumeNotEagerMaxMessagesPerPollTest.txt"); - template.sendBodyAndHeader(fileUrl, "BBB", Exchange.FILE_NAME, "bbb.FileConsumeNotEagerMaxMessagesPerPollTest.txt"); + template.sendBodyAndHeader(fileUri(), "CCC", Exchange.FILE_NAME, "ccc.FileConsumeNotEagerMaxMessagesPerPollTest.txt"); + template.sendBodyAndHeader(fileUri(), "AAA", Exchange.FILE_NAME, "aaa.FileConsumeNotEagerMaxMessagesPerPollTest.txt"); + template.sendBodyAndHeader(fileUri(), "BBB", Exchange.FILE_NAME, "bbb.FileConsumeNotEagerMaxMessagesPerPollTest.txt"); // start route context.getRouteController().startRoute("foo"); @@ -60,7 +56,9 @@ public class FileConsumeNotEagerMaxMessagesPerPollTest extends ContextTestSuppor protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from(fileUrl).routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result"); + from(fileUri("?initialDelay=0&delay=10&" + + "maxMessagesPerPoll=2&eagerMaxMessagesPerPoll=false&sortBy=file:name")) + .routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result"); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToAbsoluteTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToAbsoluteTest.java index 3c414986906..22f67d3aa52 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToAbsoluteTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToAbsoluteTest.java @@ -24,8 +24,7 @@ import org.junit.jupiter.api.Test; public class FileConsumeSimpleAbsoluteMoveToAbsoluteTest extends ContextTestSupport { - private String fileUrl = fileUri(); - private String base = testDirectory().toAbsolutePath().toString(); + private String base; @Test public void testMoveToSubDir() throws Exception { @@ -37,15 +36,16 @@ public class FileConsumeSimpleAbsoluteMoveToAbsoluteTest extends ContextTestSupp mock.expectedFileExists(base + "/.done/hello.txt"); mock.expectedFileExists(base + "/.done/goodday.txt"); - template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, "bye.txt"); - template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, "sub/hello.txt"); - template.sendBodyAndHeader(fileUrl, "Goodday World", Exchange.FILE_NAME, "sub/sub2/goodday.txt"); + template.sendBodyAndHeader(fileUri(), "Bye World", Exchange.FILE_NAME, "bye.txt"); + template.sendBodyAndHeader(fileUri(), "Hello World", Exchange.FILE_NAME, "sub/hello.txt"); + template.sendBodyAndHeader(fileUri(), "Goodday World", Exchange.FILE_NAME, "sub/sub2/goodday.txt"); assertMockEndpointsSatisfied(); } @Override protected RouteBuilder createRouteBuilder() throws Exception { + base = testDirectory().toAbsolutePath().toString(); return new RouteBuilder() { @Override public void configure() throws Exception { diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToRelativeTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToRelativeTest.java index 23a134254c8..ad2ad6bbace 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToRelativeTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToRelativeTest.java @@ -24,20 +24,17 @@ import org.junit.jupiter.api.Test; public class FileConsumeSimpleAbsoluteMoveToRelativeTest extends ContextTestSupport { - private String fileUrl = fileUri(); - private String base = testDirectory().toAbsolutePath().toString(); - @Test public void testMoveToSubDir() throws Exception { MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedMessageCount(3); - mock.expectedFileExists(base + "/.done/bye.txt"); - mock.expectedFileExists(base + "/sub/.done/hello.txt"); - mock.expectedFileExists(base + "/sub/sub2/.done/goodday.txt"); + mock.expectedFileExists(testDirectory() + "/.done/bye.txt"); + mock.expectedFileExists(testDirectory() + "/sub/.done/hello.txt"); + mock.expectedFileExists(testDirectory() + "/sub/sub2/.done/goodday.txt"); - template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, "bye.txt"); - template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, "sub/hello.txt"); - template.sendBodyAndHeader(fileUrl, "Goodday World", Exchange.FILE_NAME, "sub/sub2/goodday.txt"); + template.sendBodyAndHeader(fileUri(), "Bye World", Exchange.FILE_NAME, "bye.txt"); + template.sendBodyAndHeader(fileUri(), "Hello World", Exchange.FILE_NAME, "sub/hello.txt"); + template.sendBodyAndHeader(fileUri(), "Goodday World", Exchange.FILE_NAME, "sub/sub2/goodday.txt"); assertMockEndpointsSatisfied(); } @@ -47,7 +44,7 @@ public class FileConsumeSimpleAbsoluteMoveToRelativeTest extends ContextTestSupp return new RouteBuilder() { @Override public void configure() throws Exception { - from("file://" + base + "?recursive=true&move=.done&initialDelay=0&delay=10").convertBodyTo(String.class) + from(fileUri() + "?recursive=true&move=.done&initialDelay=0&delay=10").convertBodyTo(String.class) .to("mock:result"); } }; diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleRelativeMoveToRelativeTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleRelativeMoveToRelativeTest.java index 3b7bdeb1c73..907214bb417 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleRelativeMoveToRelativeTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleRelativeMoveToRelativeTest.java @@ -24,8 +24,6 @@ import org.junit.jupiter.api.Test; public class FileConsumeSimpleRelativeMoveToRelativeTest extends ContextTestSupport { - private String fileUrl = fileUri(); - @Test public void testMoveToSubDir() throws Exception { MockEndpoint mock = getMockEndpoint("mock:result"); @@ -33,7 +31,7 @@ public class FileConsumeSimpleRelativeMoveToRelativeTest extends ContextTestSupp mock.expectedFileExists(testFile(".done/bye.txt")); mock.expectedFileExists(testFile("sub/.done/hello.txt")); mock.expectedFileExists(testFile("sub/sub2/.done/goodday.txt")); - + String fileUrl = fileUri(); template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, "bye.txt"); template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, "sub/hello.txt"); template.sendBodyAndHeader(fileUrl, "Goodday World", Exchange.FILE_NAME, "sub/sub2/goodday.txt"); diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryMustExistBridgeErrorHandlerTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryMustExistBridgeErrorHandlerTest.java index 0f363d9109f..ae13ddfa20e 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryMustExistBridgeErrorHandlerTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryMustExistBridgeErrorHandlerTest.java @@ -39,8 +39,8 @@ public class FileConsumerDirectoryMustExistBridgeErrorHandlerTest extends Contex public void configure() throws Exception { errorHandler(deadLetterChannel("mock:dead")); - from(fileUri("?initialDelay=1&delay=1" - + "&autoCreate=false&directoryMustExist=true&bridgeErrorHandler=true")) + from(fileUri(testDirectory("new", false), "?initialDelay=1&delay=1" + + "&autoCreate=false&directoryMustExist=true&bridgeErrorHandler=true")) .routeId("foo") .noAutoStartup() .to("mock:result"); diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExtendedAttributesTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExtendedAttributesTest.java index df983a98a11..ed590e44557 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExtendedAttributesTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExtendedAttributesTest.java @@ -17,7 +17,7 @@ package org.apache.camel.component.file; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.Map; import org.apache.camel.ContextTestSupport; @@ -36,31 +36,31 @@ import static org.junit.jupiter.api.Assertions.assertTrue; */ public class FileConsumerExtendedAttributesTest extends ContextTestSupport { private static final String FILE = "attributes.txt"; - private final String root = testDirectory().toString(); @Override @BeforeEach public void setUp() throws Exception { super.setUp(); - - Files.createFile(Paths.get(root, "basic", FILE)); - Files.createFile(Paths.get(root, "basic-as-default", FILE)); - Files.createFile(Paths.get(root, "basic-as-default-with-filter", FILE)); - Files.createFile(Paths.get(root, "posix", FILE)); + Files.createFile(testDirectory().resolve(Path.of("basic", FILE))); + Files.createFile(testDirectory().resolve(Path.of("basic-as-default", FILE))); + Files.createFile(testDirectory().resolve(Path.of("basic-as-default-with-filter", FILE))); + Files.createFile(testDirectory().resolve(Path.of("posix", FILE))); } @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - fromF("file://%s/basic?initialDelay=0&delay=10&extendedAttributes=basic:*", root).convertBodyTo(String.class) + fromF("file://%s/basic?initialDelay=0&delay=10&extendedAttributes=basic:*", testDirectory()) + .convertBodyTo(String.class) .to("mock:basic"); - fromF("file://%s/basic-as-default?initialDelay=0&delay=10&extendedAttributes=*", root) + fromF("file://%s/basic-as-default?initialDelay=0&delay=10&extendedAttributes=*", testDirectory()) .convertBodyTo(String.class).to("mock:basic-as-default"); fromF("file://%s/basic-as-default-with-filter?initialDelay=0&delay=10&extendedAttributes=size,lastModifiedTime,lastAccessTime", - root).convertBodyTo(String.class) + testDirectory()).convertBodyTo(String.class) .to("mock:basic-as-default-with-filter"); - fromF("file://%s/posix?initialDelay=0&delay=10&extendedAttributes=posix:*", root).convertBodyTo(String.class) + fromF("file://%s/posix?initialDelay=0&delay=10&extendedAttributes=posix:*", testDirectory()) + .convertBodyTo(String.class) .to("mock:posix"); } }; diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java index d7c1ad4aac8..388b118a9a1 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java @@ -28,8 +28,6 @@ import org.junit.jupiter.api.Test; */ public class FileConsumerFileFilterTest extends ContextTestSupport { - private String fileUrl = fileUri("?initialDelay=0&delay=10&filter=#myFilter"); - @Override protected Registry createRegistry() throws Exception { Registry jndi = super.createRegistry(); @@ -69,7 +67,8 @@ public class FileConsumerFileFilterTest extends ContextTestSupport { protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from(fileUrl).convertBodyTo(String.class).to("mock:result"); + from(fileUri("?initialDelay=0&delay=10&filter=#myFilter")) + .convertBodyTo(String.class).to("mock:result"); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileNameFilterTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileNameFilterTest.java index 6dd6040d5e6..41b295a6b17 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileNameFilterTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileNameFilterTest.java @@ -24,13 +24,11 @@ import org.junit.jupiter.api.Test; public class FileConsumerFileNameFilterTest extends ContextTestSupport { - private final String fileUri = fileUri(); - @Test public void testFileConsumer() throws Exception { final MockEndpoint mockEndpoint = getMockEndpoint("mock:txt"); mockEndpoint.expectedBodiesReceivedInAnyOrder("Hello World", "Bye World"); - + String fileUri = fileUri(); template.sendBodyAndHeader(fileUri, "Hello World", Exchange.FILE_NAME, "hello.txt"); template.sendBodyAndHeader(fileUri, "<customer>123</customer>", Exchange.FILE_NAME, "customer.xml"); template.sendBodyAndHeader(fileUri, "<book>Camel Rocks</book>", Exchange.FILE_NAME, "book.xml"); diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFilterFileTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFilterFileTest.java index 75d0503b615..248b8247afe 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFilterFileTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFilterFileTest.java @@ -27,8 +27,10 @@ import org.junit.jupiter.api.Test; */ public class FileConsumerFilterFileTest extends ContextTestSupport { - private String fileUrl = fileUri("?initialDelay=0&delay=10&filterFile=${bodyAs(String)} contains 'World'"); - private String fileUrl2 = fileUri("?initialDelay=0&delay=10&filterFile=${file:modified} < ${date:now-2s}"); + public static final String FILE_URL_1 = "?initialDelay=0&delay=10&" + + "filterFile=${bodyAs(String)} contains 'World'"; + public static final String FILE_URL_2 = "?initialDelay=0&delay=10&" + + "filterFile=${file:modified} < ${date:now-2s}"; @Test public void testFilterFiles() throws Exception { @@ -67,8 +69,8 @@ public class FileConsumerFilterFileTest extends ContextTestSupport { protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from(fileUrl).convertBodyTo(String.class).to("mock:result"); - from(fileUrl2).convertBodyTo(String.class).to("mock:result2"); + from(fileUri(FILE_URL_1)).convertBodyTo(String.class).to("mock:result"); + from(fileUri(FILE_URL_2)).convertBodyTo(String.class).to("mock:result2"); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveCopyAndDeleteOnRenameFailFalseTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveCopyAndDeleteOnRenameFailFalseTest.java index 43009ab3f87..da5812d3a03 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveCopyAndDeleteOnRenameFailFalseTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveCopyAndDeleteOnRenameFailFalseTest.java @@ -22,6 +22,7 @@ public class FileConsumerPreMoveCopyAndDeleteOnRenameFailFalseTest extends FileC @Override protected RouteBuilder createRouteBuilder() throws Exception { + context.getRegistry().bind("testDirectory", testDirectory()); return new RouteBuilder() { @Override public void configure() throws Exception { diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveIssueTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveIssueTest.java index 5664089d919..b602d6eeacb 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveIssueTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveIssueTest.java @@ -22,7 +22,6 @@ import java.nio.file.Path; import org.apache.camel.ContextTestSupport; import org.apache.camel.Exchange; import org.apache.camel.Processor; -import org.apache.camel.TestSupport; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.junit.jupiter.api.Test; @@ -43,10 +42,12 @@ public class FileConsumerPreMoveIssueTest extends ContextTestSupport { @Override protected RouteBuilder createRouteBuilder() throws Exception { + context.getRegistry().bind("testDirectory", testDirectory()); return new RouteBuilder() { @Override public void configure() throws Exception { - from(fileUri("?preMove=before/${file:name.noext}-moved.${file:ext}&initialDelay=0&delay=10")) + from(fileUri( + "?preMove=before/${file:name.noext}-moved.${file:ext}&initialDelay=0&delay=10")) .process(new MyPreMoveCheckerProcessor()) .to("mock:result"); } @@ -57,11 +58,9 @@ public class FileConsumerPreMoveIssueTest extends ContextTestSupport { @Override public void process(Exchange exchange) throws Exception { - Class<?> cl = getClass(); - while (cl.getEnclosingClass() != null) { - cl = cl.getEnclosingClass(); - } - Path file = TestSupport.testDirectory(cl, false).resolve("before/hello-moved.txt"); + Path testDirectory = (Path) exchange.getContext().getRegistry() + .lookupByName("testDirectory"); + Path file = testDirectory.resolve("before/hello-moved.txt"); assertTrue(Files.exists(file), "Pre move file should exist"); } } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveNoopTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveNoopTest.java index 65ea7399225..699cd606002 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveNoopTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveNoopTest.java @@ -29,14 +29,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class FileConsumerPreMoveNoopTest extends ContextTestSupport { - private final String endpointUri = fileUri(); - @Test public void testPreMoveNoop() throws Exception { MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedMessageCount(1); - template.sendBodyAndHeader(endpointUri, "Hello World", Exchange.FILE_NAME, "hello.txt"); + template.sendBodyAndHeader(fileUri(), "Hello World", Exchange.FILE_NAME, "hello.txt"); assertMockEndpointsSatisfied(); @@ -50,7 +48,7 @@ public class FileConsumerPreMoveNoopTest extends ContextTestSupport { MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedBodiesReceived("Hello World"); - template.sendBodyAndHeader(endpointUri, "Hello World", Exchange.FILE_NAME, "hello.txt"); + template.sendBodyAndHeader(fileUri(), "Hello World", Exchange.FILE_NAME, "hello.txt"); assertMockEndpointsSatisfied(); oneExchangeDone.matchesWaitTime(); @@ -60,7 +58,7 @@ public class FileConsumerPreMoveNoopTest extends ContextTestSupport { oneExchangeDone.reset(); mock.expectedBodiesReceived("Hello Again World"); - template.sendBodyAndHeader(endpointUri, "Hello Again World", Exchange.FILE_NAME, "hello.txt"); + template.sendBodyAndHeader(fileUri(), "Hello Again World", Exchange.FILE_NAME, "hello.txt"); assertMockEndpointsSatisfied(); oneExchangeDone.matchesWaitTime(); diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java index 87a33cf2ad0..761627b550f 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java @@ -22,7 +22,6 @@ import java.nio.file.Path; import org.apache.camel.ContextTestSupport; import org.apache.camel.Exchange; import org.apache.camel.Processor; -import org.apache.camel.TestSupport; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.junit.jupiter.api.Test; @@ -61,6 +60,7 @@ public class FileConsumerPreMoveTest extends ContextTestSupport { @Override protected RouteBuilder createRouteBuilder() throws Exception { + context.getRegistry().bind("testDirectory", testDirectory()); return new RouteBuilder() { @Override public void configure() throws Exception { @@ -74,11 +74,9 @@ public class FileConsumerPreMoveTest extends ContextTestSupport { @Override public void process(Exchange exchange) throws Exception { - Class<?> cl = getClass(); - while (cl.getEnclosingClass() != null) { - cl = cl.getEnclosingClass(); - } - Path file = TestSupport.testDirectory(cl, false).resolve("work/work-hello.txt"); + Path testDirectory = (Path) exchange.getContext().getRegistry() + .lookupByName("testDirectory"); + Path file = testDirectory.resolve("work/work-hello.txt"); assertTrue(Files.exists(file), "Pre move file should exist"); } } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerRelativeFileNameTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerRelativeFileNameTest.java index 482a02e8e95..c7f390c5023 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerRelativeFileNameTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerRelativeFileNameTest.java @@ -33,18 +33,18 @@ public class FileConsumerRelativeFileNameTest extends ContextTestSupport { // the file name is also starting with filename-consumer template.sendBodyAndHeader(fileUri("filename-consumer"), "Hello World", Exchange.FILE_NAME, - testFile("filename-consumer-hello.txt").toString()); + testFile("filename-consumer-hello.txt").getFileName().toString()); template.sendBodyAndHeader(fileUri("filename-consumer"), "Bye World", Exchange.FILE_NAME, - testFile("filename-consumer-bye.txt").toString()); + testFile("filename-consumer-bye.txt").getFileName().toString()); context.getRouteController().startAllRoutes(); assertMockEndpointsSatisfied(); // and expect name to contain filename-consumer-XXX.txt - assertDirectoryEquals(testFile("filename-consumer-bye.txt").toString(), + assertDirectoryEquals(testFile("filename-consumer-bye.txt").getFileName().toString(), mock.getReceivedExchanges().get(0).getIn().getHeader(Exchange.FILE_NAME, String.class)); - assertDirectoryEquals(testFile("filename-consumer-hello.txt").toString(), + assertDirectoryEquals(testFile("filename-consumer-hello.txt").getFileName().toString(), mock.getReceivedExchanges().get(1).getIn().getHeader(Exchange.FILE_NAME, String.class)); } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java index b78484f1d65..006e8920a17 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java @@ -28,12 +28,9 @@ import org.junit.jupiter.api.Test; */ public class FileConsumerSkipDotFilesTest extends ContextTestSupport { - private final String baseUrl = fileUri(); - private final String fileUrl = fileUri("?initialDelay=0&delay=10"); - @BeforeEach void sendDotFile() { - template.sendBodyAndHeader(baseUrl, "This is a dot file", Exchange.FILE_NAME, ".skipme"); + template.sendBodyAndHeader(fileUri(), "This is a dot file", Exchange.FILE_NAME, ".skipme"); } @Test @@ -50,7 +47,7 @@ public class FileConsumerSkipDotFilesTest extends ContextTestSupport { MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedBodiesReceived("Hello World"); - template.sendBodyAndHeader(baseUrl, "Hello World", Exchange.FILE_NAME, "hello.txt"); + template.sendBodyAndHeader(fileUri(), "Hello World", Exchange.FILE_NAME, "hello.txt"); mock.assertIsSatisfied(); } @@ -59,7 +56,7 @@ public class FileConsumerSkipDotFilesTest extends ContextTestSupport { protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from(fileUrl).convertBodyTo(String.class).to("mock:result"); + from(fileUri("?initialDelay=0&delay=10")).convertBodyTo(String.class).to("mock:result"); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadLockCopyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadLockCopyTest.java index aef048aa304..b7546ed3065 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadLockCopyTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadLockCopyTest.java @@ -26,7 +26,7 @@ import org.junit.jupiter.api.condition.OS; public class FileExclusiveReadLockCopyTest extends ContextTestSupport { - private String fileUrl = fileUri("?readLock=fileLock&initialDelay=0&delay=10"); + public static final String FILE_QUERY = "?readLock=fileLock&initialDelay=0&delay=10"; @Test @DisabledOnOs(OS.WINDOWS) @@ -35,7 +35,7 @@ public class FileExclusiveReadLockCopyTest extends ContextTestSupport { mock.expectedMessageCount(1); mock.expectedFileExists(testFile("out/hello.txt"), "Hello World"); - template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, "hello.txt"); + template.sendBodyAndHeader(fileUri(FILE_QUERY), "Hello World", Exchange.FILE_NAME, "hello.txt"); mock.assertIsSatisfied(); } @@ -44,7 +44,7 @@ public class FileExclusiveReadLockCopyTest extends ContextTestSupport { protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from(fileUrl).to(fileUri("out")).to("mock:result"); + from(fileUri(FILE_QUERY)).to(fileUri("out")).to("mock:result"); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManuelTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManualTest.java similarity index 90% rename from core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManuelTest.java rename to core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManualTest.java index bf291db09d8..74675ffbd4d 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManuelTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManualTest.java @@ -26,9 +26,7 @@ import org.junit.jupiter.api.condition.OS; /** * Unit test to verify exclusive read by for manual testing. */ -public class FileExclusiveReadManuelTest extends ContextTestSupport { - - private String fileUrl = fileUri("?readLock=fileLock&initialDelay=0&delay=10"); +public class FileExclusiveReadManualTest extends ContextTestSupport { @Test @DisabledOnOs(OS.WINDOWS) @@ -47,7 +45,8 @@ public class FileExclusiveReadManuelTest extends ContextTestSupport { protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from(fileUrl).to("mock:result"); + from(fileUri("?readLock=fileLock&initialDelay=0&delay=10")) + .to("mock:result"); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadNoneStrategyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadNoneStrategyTest.java index 663a515ad9b..296a8ab1885 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadNoneStrategyTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadNoneStrategyTest.java @@ -36,10 +36,10 @@ import static org.junit.jupiter.api.Assertions.assertFalse; public class FileExclusiveReadNoneStrategyTest extends ContextTestSupport { private static final Logger LOG = LoggerFactory.getLogger(FileExclusiveReadNoneStrategyTest.class); - private String fileUrl = fileUri("slowfile?noop=true&initialDelay=0&delay=10&readLock=none"); @Override protected RouteBuilder createRouteBuilder() throws Exception { + String fileUrl = fileUri("slowfile?noop=true&initialDelay=0&delay=10&readLock=none"); return new RouteBuilder() { @Override public void configure() throws Exception { diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileHeaderFileNameProducedTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileHeaderFileNameProducedTest.java index bfefd2f7131..b83fcffdc15 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileHeaderFileNameProducedTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileHeaderFileNameProducedTest.java @@ -16,6 +16,8 @@ */ package org.apache.camel.component.file; +import java.nio.file.Path; + import org.apache.camel.ContextTestSupport; import org.apache.camel.Exchange; import org.apache.camel.builder.RouteBuilder; @@ -44,7 +46,7 @@ public class FileHeaderFileNameProducedTest extends ContextTestSupport { protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from("direct:in").to(fileUri("?fileExist=Override")).to("mock:result"); + from("direct:in").to(fileUri(Path.of("target"), "?fileExist=Override")).to("mock:result"); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileIdempotentReadSameFileAgainTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileIdempotentReadSameFileAgainTest.java index f0a3473c7e9..31b4537c44e 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileIdempotentReadSameFileAgainTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileIdempotentReadSameFileAgainTest.java @@ -24,8 +24,8 @@ import org.junit.jupiter.api.Test; public class FileIdempotentReadSameFileAgainTest extends ContextTestSupport { - private String uri = fileUri("?idempotent=false&move=../done&moveFailed=../error" - + "&preMove=working/${date:now:yyyyMMddHHmmssSSS}-${file:name}&readLock=none&initialDelay=0&delay=10"); + public static final String FILE_QUERY = "?idempotent=false&move=../done&moveFailed=../error" + + "&preMove=working/${date:now:yyyyMMddHHmmssSSS}-${file:name}&readLock=none&initialDelay=0&delay=10"; @Test public void testConsumeSameFileAgain() throws Exception { @@ -51,7 +51,7 @@ public class FileIdempotentReadSameFileAgainTest extends ContextTestSupport { return new RouteBuilder() { @Override public void configure() throws Exception { - from(uri).convertBodyTo(String.class).to("mock:result"); + from(fileUri(FILE_QUERY)).convertBodyTo(String.class).to("mock:result"); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempFileNameTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempFileNameTest.java index 28e44d0bf46..207cb83d319 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempFileNameTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempFileNameTest.java @@ -27,13 +27,13 @@ import org.junit.jupiter.api.Test; */ public class FileProduceTempFileNameTest extends ContextTestSupport { - private String fileUrl = fileUri("tempandrename?tempFileName=inprogress-${file:name.noext}.tmp"); - private String parentFileUrl = fileUri("tempandrename?tempFileName=../work/${file:name.noext}.tmp"); - private String childFileUrl = fileUri("tempandrename?tempFileName=work/${file:name.noext}.tmp"); + public static final String FILE_URL_QUERY = "tempandrename?tempFileName=inprogress-${file:name.noext}.tmp"; + public static final String PARENT_FILE_URL_QUERY = "tempandrename?tempFileName=../work/${file:name.noext}.tmp"; + public static final String CHILD_FILE_URL_QUERY = "tempandrename?tempFileName=work/${file:name.noext}.tmp"; @Test public void testCreateTempFileName() throws Exception { - Endpoint endpoint = context.getEndpoint(fileUrl); + Endpoint endpoint = context.getEndpoint(fileUri(FILE_URL_QUERY)); GenericFileProducer<?> producer = (GenericFileProducer<?>) endpoint.createProducer(); Exchange exchange = endpoint.createExchange(); exchange.getIn().setHeader(Exchange.FILE_NAME, "claus.txt"); @@ -44,7 +44,7 @@ public class FileProduceTempFileNameTest extends ContextTestSupport { @Test public void testNoPathCreateTempFileName() throws Exception { - Endpoint endpoint = context.getEndpoint(fileUrl); + Endpoint endpoint = context.getEndpoint(fileUri(FILE_URL_QUERY)); GenericFileProducer<?> producer = (GenericFileProducer<?>) endpoint.createProducer(); Exchange exchange = endpoint.createExchange(); exchange.getIn().setHeader(Exchange.FILE_NAME, "claus.txt"); @@ -76,7 +76,7 @@ public class FileProduceTempFileNameTest extends ContextTestSupport { @Test public void testCreateParentTempFileName() throws Exception { - Endpoint endpoint = context.getEndpoint(parentFileUrl); + Endpoint endpoint = context.getEndpoint(fileUri(PARENT_FILE_URL_QUERY)); GenericFileProducer<?> producer = (GenericFileProducer<?>) endpoint.createProducer(); Exchange exchange = endpoint.createExchange(); exchange.getIn().setHeader(Exchange.FILE_NAME, "claus.txt"); @@ -89,9 +89,9 @@ public class FileProduceTempFileNameTest extends ContextTestSupport { protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from("direct:a").to(fileUrl); - from("direct:b").to(parentFileUrl); - from("direct:c").to(childFileUrl); + from("direct:a").to(fileUri(FILE_URL_QUERY)); + from("direct:b").to(fileUri(PARENT_FILE_URL_QUERY)); + from("direct:c").to(fileUri(CHILD_FILE_URL_QUERY)); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempPrefixTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempPrefixTest.java index 508b5d64e11..0cb180c4886 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempPrefixTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempPrefixTest.java @@ -27,11 +27,11 @@ import org.junit.jupiter.api.Test; */ public class FileProduceTempPrefixTest extends ContextTestSupport { - private String fileUrl = fileUri("?tempPrefix=inprogress."); + public static final String FILE_QUERY = "?tempPrefix=inprogress."; @Test public void testCreateTempFileName() throws Exception { - Endpoint endpoint = context.getEndpoint(fileUrl); + Endpoint endpoint = context.getEndpoint(fileUri(FILE_QUERY)); GenericFileProducer<?> producer = (GenericFileProducer<?>) endpoint.createProducer(); Exchange exchange = endpoint.createExchange(); exchange.getIn().setHeader(Exchange.FILE_NAME, "claus.txt"); @@ -42,7 +42,7 @@ public class FileProduceTempPrefixTest extends ContextTestSupport { @Test public void testCreateTempFileNameUsingComplexName() throws Exception { - Endpoint endpoint = context.getEndpoint(fileUrl); + Endpoint endpoint = context.getEndpoint(fileUri(FILE_QUERY)); GenericFileProducer<?> producer = (GenericFileProducer<?>) endpoint.createProducer(); Exchange exchange = endpoint.createExchange(); exchange.getIn().setHeader(Exchange.FILE_NAME, "foo/claus.txt"); @@ -53,7 +53,7 @@ public class FileProduceTempPrefixTest extends ContextTestSupport { @Test public void testNoPathCreateTempFileName() throws Exception { - Endpoint endpoint = context.getEndpoint(fileUrl); + Endpoint endpoint = context.getEndpoint(fileUri(FILE_QUERY)); GenericFileProducer<?> producer = (GenericFileProducer<?>) endpoint.createProducer(); Exchange exchange = endpoint.createExchange(); exchange.getIn().setHeader(Exchange.FILE_NAME, "claus.txt"); @@ -78,7 +78,7 @@ public class FileProduceTempPrefixTest extends ContextTestSupport { protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from("direct:a").to(fileUrl); + from("direct:a").to(fileUri(FILE_QUERY)); } }; } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerCharsetUTFOptimizedTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerCharsetUTFOptimizedTest.java index 198d4aeebab..cd60294a4c6 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerCharsetUTFOptimizedTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerCharsetUTFOptimizedTest.java @@ -23,7 +23,6 @@ import java.nio.file.Files; import org.apache.camel.ContextTestSupport; import org.apache.camel.builder.RouteBuilder; -import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -62,11 +61,6 @@ public class FileProducerCharsetUTFOptimizedTest extends ContextTestSupport { assertArrayEquals(utf, data); } - @AfterEach - public void deleteData() { - deleteDirectory(testDirectory().toFile()); - } - @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerDirectoryChmodOptionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerDirectoryChmodOptionTest.java index beeb1adfa1b..b99c613c5b1 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerDirectoryChmodOptionTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerDirectoryChmodOptionTest.java @@ -18,6 +18,7 @@ package org.apache.camel.component.file; import java.nio.file.Files; import java.nio.file.LinkOption; +import java.nio.file.Path; import java.nio.file.attribute.PosixFilePermission; import java.nio.file.attribute.PosixFilePermissions; import java.util.Date; @@ -36,6 +37,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; @DisabledOnOs(OS.WINDOWS) public class FileProducerDirectoryChmodOptionTest extends ContextTestSupport { + private static final String SUBDIR_NAME = "testdir"; + @Test public void testWriteValidNoDir() throws Exception { runChmodCheck("NoDir", null, "rwxr-xr-x"); @@ -57,19 +60,21 @@ public class FileProducerDirectoryChmodOptionTest extends ContextTestSupport { mock.expectedMessageCount(1); String testFileName = "chmod" + routeSuffix + ".txt"; String testFileContent = "Writing file with chmod " + routeSuffix + " option at " + new Date(); - mock.expectedFileExists(testFile(testFileName), testFileContent); + String testFilePath = Path.of(SUBDIR_NAME, testFileName).toString(); + mock.expectedFileExists(testFile(testFilePath), testFileContent); - template.sendBodyAndHeader("direct:write" + routeSuffix, testFileContent, Exchange.FILE_NAME, testFileName); + template.sendBodyAndHeader("direct:write" + routeSuffix, testFileContent, Exchange.FILE_NAME, testFilePath); if (expectedDirectoryPermissions != null) { - Set<PosixFilePermission> permissions = Files.getPosixFilePermissions(testDirectory(), LinkOption.NOFOLLOW_LINKS); + Set<PosixFilePermission> permissions + = Files.getPosixFilePermissions(testDirectory(SUBDIR_NAME), LinkOption.NOFOLLOW_LINKS); assertEquals(expectedDirectoryPermissions, PosixFilePermissions.toString(permissions)); assertEquals(expectedDirectoryPermissions.replace("-", "").length(), permissions.size()); } if (expectedPermissions != null) { Set<PosixFilePermission> permissions - = Files.getPosixFilePermissions(testFile(testFileName), LinkOption.NOFOLLOW_LINKS); + = Files.getPosixFilePermissions(testFile(testFilePath), LinkOption.NOFOLLOW_LINKS); assertEquals(expectedPermissions, PosixFilePermissions.toString(permissions)); assertEquals(expectedPermissions.replace("-", "").length(), permissions.size()); } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileRecursiveNoopTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileRecursiveNoopTest.java index 8e5a109ac12..da7c956b28c 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileRecursiveNoopTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileRecursiveNoopTest.java @@ -27,8 +27,6 @@ public class FileRecursiveNoopTest extends ContextTestSupport { @BeforeEach void sendMessages() { - testDirectory(true); - template.sendBodyAndHeader(fileUri(), "a", Exchange.FILE_NAME, "a.txt"); template.sendBodyAndHeader(fileUri(), "b", Exchange.FILE_NAME, "b.txt"); template.sendBodyAndHeader(fileUri("foo"), "a2", Exchange.FILE_NAME, "a.txt"); diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FileSplitXPathCharsetTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FileSplitXPathCharsetTest.java index 2453653bcb9..d969f6eff4b 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FileSplitXPathCharsetTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FileSplitXPathCharsetTest.java @@ -23,12 +23,19 @@ import java.nio.file.Path; import org.apache.camel.ContextTestSupport; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; public class FileSplitXPathCharsetTest extends ContextTestSupport { - private final Path inputCsv = testFile("input.csv"); - private final Path inputXml = testFile("input.xml"); + private Path inputCsv; + private Path inputXml; + + @BeforeEach + public void setUpTemporaryFiles() { + inputXml = testFile("input.xml"); + inputCsv = testFile("input.csv"); + } @Test public void testCsv() throws Exception { diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerAbsoluteTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerAbsoluteTest.java index 4df0060e82e..8b0079d962e 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerAbsoluteTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerAbsoluteTest.java @@ -27,7 +27,7 @@ import org.junit.jupiter.api.Test; */ public class FilerProducerAbsoluteTest extends ContextTestSupport { - private String path = testDirectory("absolute").toAbsolutePath().toString(); + private String path; @Test public void testProduceAbsoluteFile() throws Exception { @@ -42,6 +42,7 @@ public class FilerProducerAbsoluteTest extends ContextTestSupport { @Override protected RouteBuilder createRouteBuilder() throws Exception { + path = testDirectory("absolute").toAbsolutePath().toString(); return new RouteBuilder() { public void configure() throws Exception { from("direct:report").to("file://" + path, "mock:result"); diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyFactoryTest.java index 3d9a2ae905e..87589ad79cf 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyFactoryTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyFactoryTest.java @@ -16,6 +16,7 @@ */ package org.apache.camel.component.file.cluster; +import java.nio.file.Path; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; @@ -24,11 +25,11 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; -import org.apache.camel.TestSupport; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.impl.cluster.ClusteredRoutePolicyFactory; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,6 +43,9 @@ public final class FileLockClusteredRoutePolicyFactoryTest { private static final ScheduledExecutorService SCHEDULER = Executors.newScheduledThreadPool(CLIENTS.size()); private static final CountDownLatch LATCH = new CountDownLatch(CLIENTS.size()); + @TempDir + private static Path tempDir; + // ************************************ // Test // ************************************ @@ -70,7 +74,7 @@ public final class FileLockClusteredRoutePolicyFactoryTest { FileLockClusterService service = new FileLockClusterService(); service.setId("node-" + id); - service.setRoot(TestSupport.testDirectory(FileLockClusteredRoutePolicyTest.class, true).toString()); + service.setRoot(tempDir.toString()); service.setAcquireLockDelay(100, TimeUnit.MILLISECONDS); service.setAcquireLockInterval(100, TimeUnit.MILLISECONDS); diff --git a/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyTest.java b/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyTest.java index 17c4f4d9e0a..09950d99189 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyTest.java @@ -16,6 +16,7 @@ */ package org.apache.camel.component.file.cluster; +import java.nio.file.Path; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; @@ -24,11 +25,11 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; -import org.apache.camel.TestSupport; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.impl.cluster.ClusteredRoutePolicy; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,6 +43,9 @@ public final class FileLockClusteredRoutePolicyTest { private static final ScheduledExecutorService SCHEDULER = Executors.newScheduledThreadPool(CLIENTS.size()); private static final CountDownLatch LATCH = new CountDownLatch(CLIENTS.size()); + @TempDir + private static Path tempDir; + // ************************************ // Test // ************************************ @@ -70,7 +74,7 @@ public final class FileLockClusteredRoutePolicyTest { FileLockClusterService service = new FileLockClusterService(); service.setId("node-" + id); - service.setRoot(TestSupport.testDirectory(FileLockClusteredRoutePolicyTest.class, false).toString()); + service.setRoot(tempDir.toString()); service.setAcquireLockDelay(1, TimeUnit.SECONDS); service.setAcquireLockInterval(1, TimeUnit.SECONDS); diff --git a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesFromFileTrimValuesTest.java b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesFromFileTrimValuesTest.java index 9bc9fbab400..3782ecfa876 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesFromFileTrimValuesTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesFromFileTrimValuesTest.java @@ -32,7 +32,6 @@ public class PropertiesComponentLoadPropertiesFromFileTrimValuesTest extends Con CamelContext context = super.createCamelContext(); // create space.properties file - testDirectory(true); try (Writer w = Files.newBufferedWriter(testFile("space.properties"))) { String cool = "cool.leading= Leading space" + LS + "cool.trailing=Trailing space " + LS + "cool.both= Both leading and trailing space " + LS; diff --git a/core/camel-core/src/test/java/org/apache/camel/component/seda/FileSedaShutdownCompleteAllTasksTest.java b/core/camel-core/src/test/java/org/apache/camel/component/seda/FileSedaShutdownCompleteAllTasksTest.java index b0687f4c0d5..4a889609c76 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/seda/FileSedaShutdownCompleteAllTasksTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/seda/FileSedaShutdownCompleteAllTasksTest.java @@ -31,10 +31,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; public class FileSedaShutdownCompleteAllTasksTest extends ContextTestSupport { - private String url = fileUri("?initialDelay=0&delay=10"); - @Test public void testShutdownCompleteAllTasks() throws Exception { + String url = fileUri("?initialDelay=0&delay=10"); + // prepare 5 files to begin with template.sendBodyAndHeader(url, "A", Exchange.FILE_NAME, "a.txt"); template.sendBodyAndHeader(url, "B", Exchange.FILE_NAME, "b.txt"); diff --git a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java index 245c01ac9d5..196bbbb290f 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java @@ -35,7 +35,6 @@ public class XsltIncludeClasspathDotInDirectoryTest extends ContextTestSupport { @Override @AfterEach public void tearDown() throws Exception { - deleteDirectory("target/classes/com.mycompany"); super.tearDown(); } @@ -55,7 +54,7 @@ public class XsltIncludeClasspathDotInDirectoryTest extends ContextTestSupport { @Override public void configure() throws Exception { // copy templates to this directory - createDirectory("target/classes/com.mycompany"); + testDirectory("target/classes/com.mycompany", true); FileUtil.copyFile(new File("src/test/resources/org/apache/camel/component/xslt/staff_include_classpath2.xsl"), new File("target/classes/com.mycompany/staff_include_classpath2.xsl")); FileUtil.copyFile(new File("src/test/resources/org/apache/camel/component/xslt/staff_template.xsl"), diff --git a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileDeleteTest.java b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileDeleteTest.java index 6dcfbb0aa82..ec4c47a725a 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileDeleteTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileDeleteTest.java @@ -29,8 +29,6 @@ public class XsltOutputFileDeleteTest extends ContextTestSupport { @Test public void testXsltOutputDeleteFile() throws Exception { - testDirectory(true); - MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedBodiesReceived("<?xml version=\"1.0\" encoding=\"UTF-8\"?><goodbye>world!</goodbye>"); template.sendBodyAndHeader("direct:start", "<hello>world!</hello>", Exchange.XSLT_FILE_NAME, diff --git a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileTest.java b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileTest.java index a03aad8c2b5..5cf06502db3 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileTest.java @@ -36,8 +36,6 @@ public class XsltOutputFileTest extends ContextTestSupport { @Test public void testXsltOutput() throws Exception { - testDirectory(true); - MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedBodiesReceived("<?xml version=\"1.0\" encoding=\"UTF-8\"?><goodbye>world!</goodbye>"); mock.expectedFileExists(testFile("xsltme.xml")); diff --git a/core/camel-core/src/test/java/org/apache/camel/converter/stream/CachedOutputStreamTest.java b/core/camel-core/src/test/java/org/apache/camel/converter/stream/CachedOutputStreamTest.java index 77dc1639d72..6ce529dafaa 100644 --- a/core/camel-core/src/test/java/org/apache/camel/converter/stream/CachedOutputStreamTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/converter/stream/CachedOutputStreamTest.java @@ -53,7 +53,7 @@ public class CachedOutputStreamTest extends ContextTestSupport { protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); context.setStreamCaching(true); - context.getStreamCachingStrategy().setSpoolDirectory(testDirectory(true).toFile()); + context.getStreamCachingStrategy().setSpoolDirectory(testDirectory().toFile()); context.getStreamCachingStrategy().setSpoolEnabled(true); context.getStreamCachingStrategy().setSpoolThreshold(16); return context; diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/FileStateRepositoryTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/FileStateRepositoryTest.java index 4aa882e913f..af51264d4de 100644 --- a/core/camel-core/src/test/java/org/apache/camel/impl/FileStateRepositoryTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/impl/FileStateRepositoryTest.java @@ -20,6 +20,7 @@ import java.io.File; import org.apache.camel.TestSupport; import org.apache.camel.impl.engine.FileStateRepository; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import static org.apache.camel.impl.engine.FileStateRepository.fileStateRepository; @@ -29,7 +30,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class FileStateRepositoryTest extends TestSupport { - private final File repositoryStore = testFile("file-state-repository.dat").toFile(); + private File repositoryStore; + + @BeforeEach + public void setUpTemporaryFile() { + repositoryStore = testFile("file-state-repository.dat").toFile(); + } @Test public void shouldPreventUsingDelimiterInKey() throws Exception { diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentClearTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentClearTest.java index abf712b2f71..1b9316e0b54 100644 --- a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentClearTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentClearTest.java @@ -30,12 +30,12 @@ import static org.junit.jupiter.api.Assertions.assertFalse; public class FileIdempotentClearTest extends ContextTestSupport { - private File store = testFile("idempotentfilestore.dat").toFile(); private IdempotentRepository repo; @Override @BeforeEach public void setUp() throws Exception { + File store = testFile("idempotentfilestore.dat").toFile(); // delete file store before testing if (store.exists()) { store.delete(); diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerLoadStoreTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerLoadStoreTest.java index 154a890cb9b..315a3b5f150 100644 --- a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerLoadStoreTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerLoadStoreTest.java @@ -35,7 +35,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class FileIdempotentConsumerLoadStoreTest extends ContextTestSupport { - private File store = testFile("idempotentfilestore.dat").toFile(); private IdempotentRepository repo; @Test @@ -79,7 +78,7 @@ public class FileIdempotentConsumerLoadStoreTest extends ContextTestSupport { @Override protected RouteBuilder createRouteBuilder() throws Exception { - testDirectory(true); + File store = testFile("idempotentfilestore.dat").toFile(); try (FileOutputStream fos = new FileOutputStream(store)) { fos.write("4\n".getBytes()); } diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerTest.java index 361a28d2191..e1db9ce91dc 100644 --- a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerTest.java @@ -34,7 +34,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class FileIdempotentConsumerTest extends ContextTestSupport { - private File store = testFile("idempotentfilestore.dat").toFile(); private IdempotentRepository repo; @Test @@ -78,6 +77,7 @@ public class FileIdempotentConsumerTest extends ContextTestSupport { @Override protected RouteBuilder createRouteBuilder() { + File store = testFile("idempotentfilestore.dat").toFile(); return new RouteBuilder() { public void configure() { repo = FileIdempotentRepository.fileIdempotentRepository(store); diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentRemoveTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentRemoveTest.java index a307a2f4ca0..0d855ac6fc3 100644 --- a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentRemoveTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentRemoveTest.java @@ -30,12 +30,13 @@ import static org.junit.jupiter.api.Assertions.assertEquals; public class FileIdempotentRemoveTest extends ContextTestSupport { - private File store = testFile("idempotentfilestore.dat").toFile(); private IdempotentRepository repo; + private File store; @Override @BeforeEach public void setUp() throws Exception { + store = testFile("idempotentfilestore.dat").toFile(); // delete file store before testing if (store.exists()) { store.delete(); diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentTrunkStoreTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentTrunkStoreTest.java index 4abbe6041d8..56f15452699 100644 --- a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentTrunkStoreTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentTrunkStoreTest.java @@ -40,8 +40,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class FileIdempotentTrunkStoreTest extends ContextTestSupport { protected Endpoint startEndpoint; protected MockEndpoint resultEndpoint; - private File store = testFile("idempotentfilestore.dat").toFile(); private IdempotentRepository repo; + private File store; @Test public void testTrunkFileStore() throws Exception { @@ -90,6 +90,7 @@ public class FileIdempotentTrunkStoreTest extends ContextTestSupport { @Override @BeforeEach public void setUp() throws Exception { + store = testFile("idempotentfilestore.dat").toFile(); // delete file store before testing if (store.exists()) { store.delete(); diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/RouteFormattedUriTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/RouteFormattedUriTest.java index 55442b7f99e..59f754c6726 100644 --- a/core/camel-core/src/test/java/org/apache/camel/processor/RouteFormattedUriTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/processor/RouteFormattedUriTest.java @@ -23,7 +23,6 @@ import org.junit.jupiter.api.Test; public class RouteFormattedUriTest extends ContextTestSupport { - private String path = testDirectory().toString(); private String name = "hello.txt"; private String pattern = ".*txt$"; private String result = "result"; @@ -40,6 +39,7 @@ public class RouteFormattedUriTest extends ContextTestSupport { @Override protected RouteBuilder createRouteBuilder() throws Exception { + String path = testDirectory().toString(); return new RouteBuilder() { @Override public void configure() throws Exception { diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteAllTasksTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteAllTasksTest.java index 18268ea1bdf..9263d402c76 100644 --- a/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteAllTasksTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteAllTasksTest.java @@ -33,7 +33,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals; public class ShutdownCompleteAllTasksTest extends ContextTestSupport { - private String url = fileUri("?initialDelay=0&delay=10&synchronous=true"); + public static final String FILE_URI_QUERY = "?initialDelay=0&delay=10&synchronous=true"; + private AtomicInteger counter = new AtomicInteger(); private CountDownLatch latch = new CountDownLatch(2); @@ -41,7 +42,7 @@ public class ShutdownCompleteAllTasksTest extends ContextTestSupport { @BeforeEach public void setUp() throws Exception { super.setUp(); - + String url = fileUri(FILE_URI_QUERY); template.sendBodyAndHeader(url, "A", Exchange.FILE_NAME, "a.txt"); template.sendBodyAndHeader(url, "B", Exchange.FILE_NAME, "b.txt"); template.sendBodyAndHeader(url, "C", Exchange.FILE_NAME, "c.txt"); @@ -80,7 +81,7 @@ public class ShutdownCompleteAllTasksTest extends ContextTestSupport { @Override // START SNIPPET: e1 public void configure() throws Exception { - from(url).routeId("foo").noAutoStartup() + from(fileUri(FILE_URI_QUERY)).routeId("foo").noAutoStartup() // let it complete all tasks during shutdown .shutdownRunningTask(ShutdownRunningTask.CompleteAllTasks).process(new MyProcessor()).to("mock:bar"); } diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteCurrentTaskOnlyTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteCurrentTaskOnlyTest.java index 34fa700a992..a44660034e7 100644 --- a/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteCurrentTaskOnlyTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteCurrentTaskOnlyTest.java @@ -28,13 +28,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class ShutdownCompleteCurrentTaskOnlyTest extends ContextTestSupport { - private String url = fileUri("?initialDelay=0&delay=10&synchronous=true"); + public static final String FILE_QUERY = "?initialDelay=0&delay=10&synchronous=true"; @Override @BeforeEach public void setUp() throws Exception { super.setUp(); - + String url = fileUri(FILE_QUERY); template.sendBodyAndHeader(url, "A", Exchange.FILE_NAME, "a.txt"); template.sendBodyAndHeader(url, "B", Exchange.FILE_NAME, "b.txt"); template.sendBodyAndHeader(url, "C", Exchange.FILE_NAME, "c.txt"); @@ -61,6 +61,7 @@ public class ShutdownCompleteCurrentTaskOnlyTest extends ContextTestSupport { @Override protected RouteBuilder createRouteBuilder() throws Exception { + String url = fileUri(FILE_QUERY); return new RouteBuilder() { @Override public void configure() throws Exception { diff --git a/core/camel-core/src/test/java/org/apache/camel/support/processor/idempotent/FileIdempotentStoreOrderingTest.java b/core/camel-core/src/test/java/org/apache/camel/support/processor/idempotent/FileIdempotentStoreOrderingTest.java index e82ad4b77de..e6837ab669c 100644 --- a/core/camel-core/src/test/java/org/apache/camel/support/processor/idempotent/FileIdempotentStoreOrderingTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/support/processor/idempotent/FileIdempotentStoreOrderingTest.java @@ -46,7 +46,7 @@ public class FileIdempotentStoreOrderingTest extends TestSupport { @Test public void testTrunkStoreNotMaxHit() throws Exception { // given - File fileStore = testDirectory(true).resolve("data.dat").toFile(); + File fileStore = testDirectory().resolve("data.dat").toFile(); fileIdempotentRepository.setFileStore(fileStore); fileIdempotentRepository.setCacheSize(10); fileIdempotentRepository.start(); @@ -70,7 +70,7 @@ public class FileIdempotentStoreOrderingTest extends TestSupport { @Test public void testTrunkStoreFirstLevelMaxHit() throws Exception { // given - File fileStore = testDirectory(true).resolve("data.dat").toFile(); + File fileStore = testDirectory().resolve("data.dat").toFile(); fileIdempotentRepository.setFileStore(fileStore); fileIdempotentRepository.setCacheSize(5); fileIdempotentRepository.start(); @@ -94,7 +94,7 @@ public class FileIdempotentStoreOrderingTest extends TestSupport { @Test public void testTrunkStoreFileMaxHit() throws Exception { // given - File fileStore = testDirectory(true).resolve("data.dat").toFile(); + File fileStore = testDirectory().resolve("data.dat").toFile(); fileIdempotentRepository.setFileStore(fileStore); fileIdempotentRepository.setCacheSize(5); fileIdempotentRepository.setMaxFileStoreSize(128); diff --git a/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java b/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java index 101c76924ad..fc999690339 100644 --- a/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java @@ -62,7 +62,7 @@ public class ResourceLoaderTest extends TestSupport { @Test public void testLoadFileWithSpace() throws Exception { - createDirectory("target/data/my space"); + testDirectory("target/data/my space", true); copyFile(new File("src/test/resources/log4j2.properties"), new File("target/data/my space/log4j2.properties")); DefaultCamelContext context = new DefaultCamelContext(); diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentClearTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentClearTest.java index 9322087b5f7..4c698708394 100644 --- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentClearTest.java +++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentClearTest.java @@ -41,7 +41,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; @DisabledOnOs(OS.AIX) public class ManagedFileIdempotentClearTest extends ManagementTestSupport { - private File store = testFile("idempotentfilestore.dat").toFile(); private IdempotentRepository repo; @Test @@ -119,6 +118,7 @@ public class ManagedFileIdempotentClearTest extends ManagementTestSupport { @Override protected RouteBuilder createRouteBuilder() { + File store = testFile("idempotentfilestore.dat").toFile(); return new RouteBuilder() { public void configure() { repo = FileIdempotentRepository.fileIdempotentRepository(store); diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentConsumerTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentConsumerTest.java index 13fbbcf6a44..5949e25429a 100644 --- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentConsumerTest.java +++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentConsumerTest.java @@ -40,7 +40,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue; @DisabledOnOs(OS.AIX) public class ManagedFileIdempotentConsumerTest extends ManagementTestSupport { - private File store = testFile("idempotentfilestore.dat").toFile(); private IdempotentRepository repo; @Test @@ -119,6 +118,7 @@ public class ManagedFileIdempotentConsumerTest extends ManagementTestSupport { @Override protected RouteBuilder createRouteBuilder() { + File store = testFile("idempotentfilestore.dat").toFile(); return new RouteBuilder() { public void configure() { repo = FileIdempotentRepository.fileIdempotentRepository(store); diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteDumpStrategyTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteDumpStrategyTest.java index 0f405340a14..e1cb9b47baa 100644 --- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteDumpStrategyTest.java +++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteDumpStrategyTest.java @@ -39,7 +39,6 @@ public class ManagedRouteDumpStrategyTest extends ManagementTestSupport { @Override protected CamelContext createCamelContext() throws Exception { - testDirectory(true); String dir = testDirectory().toString(); CamelContext context = super.createCamelContext();