You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2026/03/18 14:10:42 UTC

(camel) branch CAMEL-23209 created (now 7d097195f690)

This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a change to branch CAMEL-23209
in repository https://gitbox.apache.org/repos/asf/camel.git


      at 7d097195f690 CAMEL-23209: Fix flaky SMB tests

This branch includes the following new commits:

     new 7d097195f690 CAMEL-23209: Fix flaky SMB tests

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(camel) 01/01: CAMEL-23209: Fix flaky SMB tests

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch CAMEL-23209
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 7d097195f690fb58a2fe31c91404a4a66a961dff
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Wed Mar 18 15:10:20 2026 +0100

    CAMEL-23209: Fix flaky SMB tests
    
    - Increase Awaitility timeouts from 3-6s to 15s across all SMB tests
      to prevent race conditions in CI environments
    - Add initialDelay=3000 to SmbComponentConnectionIT consumer routes
      to prevent the consumer from polling before producer writes complete
    - Fix NPE in copyFileContentFromContainer when file not yet available
      by throwing AssertionError instead of returning null, which Awaitility
      properly catches and retries
    
    Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
 .../apache/camel/component/smb/AbstractSmbRenameIT.java  |  2 +-
 .../smb/FromSmbMoveFileAbsoluteFolderRecursiveIT.java    |  6 +++---
 .../camel/component/smb/FromSmbMoveFileToSubdirIT.java   |  2 +-
 .../camel/component/smb/FromSmbMoveWithExistingIT.java   |  2 +-
 .../org/apache/camel/component/smb/FromSmbNoopIT.java    |  2 +-
 .../camel/component/smb/FromSmbPreMoveDeleteIT.java      |  4 ++--
 .../component/smb/FromSmbPreMoveFileExpressionIT.java    |  4 ++--
 .../org/apache/camel/component/smb/FromSmbPreMoveIT.java |  2 +-
 .../camel/component/smb/FromSmbRenameReadLockIT.java     |  4 ++--
 .../camel/component/smb/SmbComponentConnectionIT.java    |  6 +++---
 .../component/smb/SmbConsumerLocalWorkDirectoryIT.java   |  2 +-
 .../camel/component/smb/SmbConsumerPartialReadIT.java    |  2 +-
 .../component/smb/SmbConsumerPartialReadNoPathIT.java    |  8 +++-----
 .../org/apache/camel/component/smb/SmbDeleteFileIT.java  |  4 ++--
 .../smb/SmbDeleteFilePathBackwardsCompatibleIT.java      |  4 ++--
 .../camel/component/smb/SmbProducerAllowNullBodyIT.java  |  4 ++--
 .../camel/component/smb/SmbProducerBuildDirectoryIT.java |  2 +-
 .../camel/component/smb/SmbProducerDoneFileNameIT.java   | 16 ++++++++--------
 .../component/smb/SmbProducerFileExistAppendIT.java      |  2 +-
 .../smb/SmbProducerFileExistAppendNoFileBeforeIT.java    |  2 +-
 .../camel/component/smb/SmbProducerFileExistFailIT.java  |  2 +-
 .../component/smb/SmbProducerFileExistIgnoreIT.java      |  2 +-
 .../component/smb/SmbProducerFileExistOverrideIT.java    |  2 +-
 .../smb/SmbProducerFileExistOverrideNoFileBeforeIT.java  |  2 +-
 ...ExistOverrideNotEagerDeleteTargetFileTwoUploadIT.java |  4 ++--
 .../smb/SmbProducerFileExistOverrideTwoUploadIT.java     |  4 ++--
 .../component/smb/SmbProducerFileWithCharsetIT.java      |  2 +-
 .../camel/component/smb/SmbProducerFileWithPathIT.java   |  2 +-
 .../apache/camel/component/smb/SmbServerTestSupport.java |  6 +++++-
 29 files changed, 54 insertions(+), 52 deletions(-)

diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/AbstractSmbRenameIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/AbstractSmbRenameIT.java
index 17f488cb9d56..93b8c613bcbb 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/AbstractSmbRenameIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/AbstractSmbRenameIT.java
@@ -78,7 +78,7 @@ public abstract class AbstractSmbRenameIT extends SmbServerTestSupport {
         MockEndpoint.assertIsSatisfied(context);
 
         // Verify file was moved
-        await().atMost(6, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World\n",
                         service.smbFile(getPath() + "/.done/" + getFilename())));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveFileAbsoluteFolderRecursiveIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveFileAbsoluteFolderRecursiveIT.java
index cb99080c0b8e..1d3710ae07e9 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveFileAbsoluteFolderRecursiveIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveFileAbsoluteFolderRecursiveIT.java
@@ -47,15 +47,15 @@ public class FromSmbMoveFileAbsoluteFolderRecursiveIT extends SmbServerTestSuppo
         mock.assertIsSatisfied();
 
         // verify files reside in the SMB dir within the docker container
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello",
                         new String(copyFileContentFromContainer("/data/rw/.done/hello.txt.old"))));
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye",
                         new String(copyFileContentFromContainer("/data/rw/.done/bye/bye.txt.old"))));
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Goodday",
                         new String(copyFileContentFromContainer("/data/rw/.done/goodday/goodday.txt.old"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveFileToSubdirIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveFileToSubdirIT.java
index 0971d6a53a77..ffab841b065f 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveFileToSubdirIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveFileToSubdirIT.java
@@ -48,7 +48,7 @@ public class FromSmbMoveFileToSubdirIT extends SmbServerTestSupport {
         mock.assertIsSatisfied();
 
         // verify file moved in smb dir
-        await().atMost(6, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will be moved",
                         new String(copyFileContentFromContainer("/data/rw/movefiletosubdir/greet/hello.txt.old"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveWithExistingIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveWithExistingIT.java
index fa8ed8e1dc5e..a0ed685ab36b 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveWithExistingIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbMoveWithExistingIT.java
@@ -48,7 +48,7 @@ public class FromSmbMoveWithExistingIT extends SmbServerTestSupport {
         mock.assertIsSatisfied();
 
         // verify file resides in the smb dir within the docker container
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will be moved",
                         new String(copyFileContentFromContainer("/data/rw/moveexist/hello.txt.old"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbNoopIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbNoopIT.java
index aa7fb6c8b450..d523e362bf4e 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbNoopIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbNoopIT.java
@@ -51,7 +51,7 @@ public class FromSmbNoopIT extends SmbServerTestSupport {
         mock.assertIsSatisfied();
 
         // assert the file is still there
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(copyFileContentFromContainer("/data/rw/noop/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveDeleteIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveDeleteIT.java
index 3ef72993f734..117550564521 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveDeleteIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveDeleteIT.java
@@ -50,7 +50,7 @@ public class FromSmbPreMoveDeleteIT extends SmbServerTestSupport {
         mock.assertIsSatisfied();
 
         // verify binary file removed during processing
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertNull((copyFileContentFromContainer("/data/rw/premove/work/hello.txt"))));
     }
 
@@ -61,7 +61,7 @@ public class FromSmbPreMoveDeleteIT extends SmbServerTestSupport {
                 from(getSmbUrl()).process(new Processor() {
                     public void process(Exchange exchange) {
                         // assert the file is pre moved
-                        await().atMost(3, TimeUnit.SECONDS)
+                        await().atMost(15, TimeUnit.SECONDS)
                                 .untilAsserted(() -> assertEquals("Hello World this file will be moved",
                                         new String(copyFileContentFromContainer("/data/rw/premove/work/hello.txt"))));
 
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveFileExpressionIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveFileExpressionIT.java
index dd3f71e5717f..c3771a6141e3 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveFileExpressionIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveFileExpressionIT.java
@@ -64,7 +64,7 @@ public class FromSmbPreMoveFileExpressionIT extends SmbServerTestSupport {
         producer.stop();
 
         // assert file is created
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will be moved",
                         new String(copyFileContentFromContainer("/data/rw/premoveexpr/hello.txt"))));
     }
@@ -76,7 +76,7 @@ public class FromSmbPreMoveFileExpressionIT extends SmbServerTestSupport {
                 from(getSmbUrl()).process(new Processor() {
                     public void process(Exchange exchange) {
                         // assert the file is pre moved
-                        await().atMost(3, TimeUnit.SECONDS)
+                        await().atMost(15, TimeUnit.SECONDS)
                                 .untilAsserted(() -> assertEquals("Hello World this file will be moved",
                                         new String(copyFileContentFromContainer("/data/rw/inprogress/hello.bak"))));
                     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveIT.java
index 919de4af8c59..95d6a0bb629f 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbPreMoveIT.java
@@ -47,7 +47,7 @@ public class FromSmbPreMoveIT extends SmbServerTestSupport {
 
         mock.assertIsSatisfied();
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will be moved",
                         new String(copyFileContentFromContainer("/data/rw/premove/work/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbRenameReadLockIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbRenameReadLockIT.java
index 1db27b5e0bd0..0a237823c8a8 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbRenameReadLockIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/FromSmbRenameReadLockIT.java
@@ -52,7 +52,7 @@ public class FromSmbRenameReadLockIT extends SmbServerTestSupport {
     @Test
     public void testFromFileToSmb() throws Exception {
         // verify binary file written to smb dir
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertNotNull((copyFileContentFromContainer("/data/rw/renamerl/logo.jpeg"))));
 
         MockEndpoint mock = getMockEndpoint("mock:result");
@@ -61,7 +61,7 @@ public class FromSmbRenameReadLockIT extends SmbServerTestSupport {
         MockEndpoint.assertIsSatisfied(context);
 
         // verify binary file removed during processing
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertNull((copyFileContentFromContainer("/data/rw/renamerl/logo.jpeg"))));
     }
 
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbComponentConnectionIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbComponentConnectionIT.java
index 5b340b0b2cbe..1a599abd89a0 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbComponentConnectionIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbComponentConnectionIT.java
@@ -126,15 +126,15 @@ public class SmbComponentConnectionIT extends CamelTestSupport {
                         .toF("smb:%s/%s?username=%s&password=%s", service.address(), service.shareName(),
                                 service.userName(), service.password());
 
-                fromF("smb:%s/%s?username=%s&password=%s&searchPattern=*_override.doc", service.address(),
+                fromF("smb:%s/%s?username=%s&password=%s&searchPattern=*_override.doc&initialDelay=3000", service.address(),
                         service.shareName(),
                         service.userName(), service.password())
                         .to("mock:received_override");
-                fromF("smb:%s/%s?username=%s&password=%s&searchPattern=*_ignore.doc", service.address(),
+                fromF("smb:%s/%s?username=%s&password=%s&searchPattern=*_ignore.doc&initialDelay=3000", service.address(),
                         service.shareName(),
                         service.userName(), service.password())
                         .to("mock:received_ignore");
-                fromF("smb:%s/%s?username=%s&password=%s&searchPattern=*_send.doc", service.address(),
+                fromF("smb:%s/%s?username=%s&password=%s&searchPattern=*_send.doc&initialDelay=3000", service.address(),
                         service.shareName(),
                         service.userName(), service.password())
                         .to("mock:received_send");
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerLocalWorkDirectoryIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerLocalWorkDirectoryIT.java
index 82fb8800f577..830ad2deff0d 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerLocalWorkDirectoryIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerLocalWorkDirectoryIT.java
@@ -58,7 +58,7 @@ public class SmbConsumerLocalWorkDirectoryIT extends SmbServerTestSupport {
 
         // give test some time to close file resources
         // now the lwd file should be deleted
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertFileNotExists(testDirectory.resolve("hello.txt")));
 
         assertFileExists(testDirectory.resolve("out/hello.txt"), "Hello World");
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerPartialReadIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerPartialReadIT.java
index 7f37f675eb13..adc8df3ffca1 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerPartialReadIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerPartialReadIT.java
@@ -48,7 +48,7 @@ class SmbConsumerPartialReadIT extends SmbServerTestSupport {
 
         MockEndpoint.assertIsSatisfied(context);
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(copyFileContentFromContainer("/data/rw/partialread/failed/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerPartialReadNoPathIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerPartialReadNoPathIT.java
index 154707ce54f9..598df91b0a43 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerPartialReadNoPathIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbConsumerPartialReadNoPathIT.java
@@ -56,11 +56,9 @@ public class SmbConsumerPartialReadNoPathIT extends SmbServerTestSupport {
 
         assertTrue(nb.matchesWaitTime());
 
-        await().atMost(5, TimeUnit.SECONDS)
-                .untilAsserted(() -> {
-                    byte[] arr = copyFileContentFromContainer("/data/rw/failed/" + uuid);
-                    assertEquals("Hello Uuid", new String(arr));
-                });
+        await().atMost(15, TimeUnit.SECONDS)
+                .untilAsserted(() -> assertEquals("Hello Uuid",
+                        new String(copyFileContentFromContainer("/data/rw/failed/" + uuid))));
     }
 
     @Override
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDeleteFileIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDeleteFileIT.java
index cd568ee19b7d..4c04f3e19b63 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDeleteFileIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDeleteFileIT.java
@@ -48,7 +48,7 @@ public class SmbDeleteFileIT extends SmbServerTestSupport {
 
         mock.assertIsSatisfied();
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertNull((copyFileContentFromContainer("/data/rw/deletedfile/hello.txt"))));
     }
 
@@ -56,7 +56,7 @@ public class SmbDeleteFileIT extends SmbServerTestSupport {
         template.sendBodyAndHeader(getSmbUrl(), "Hello World this file will be deleted", Exchange.FILE_NAME, "hello.txt");
 
         // assert file is created
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will be deleted",
                         new String(copyFileContentFromContainer("/data/rw/deletedfile/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDeleteFilePathBackwardsCompatibleIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDeleteFilePathBackwardsCompatibleIT.java
index 5f8f40c4b896..427013b06564 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDeleteFilePathBackwardsCompatibleIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDeleteFilePathBackwardsCompatibleIT.java
@@ -48,7 +48,7 @@ public class SmbDeleteFilePathBackwardsCompatibleIT extends SmbServerTestSupport
 
         mock.assertIsSatisfied();
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertNull((copyFileContentFromContainer("/data/rw/deletedfile2/hello.txt"))));
     }
 
@@ -56,7 +56,7 @@ public class SmbDeleteFilePathBackwardsCompatibleIT extends SmbServerTestSupport
         template.sendBodyAndHeader(getSmbUrl(), "Hello World this file will be deleted", Exchange.FILE_NAME, "hello.txt");
 
         // assert file is created
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will be deleted",
                         new String(copyFileContentFromContainer("/data/rw/deletedfile2/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerAllowNullBodyIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerAllowNullBodyIT.java
index 8f260068cbe4..902504fba0ba 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerAllowNullBodyIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerAllowNullBodyIT.java
@@ -41,7 +41,7 @@ public class SmbProducerAllowNullBodyIT extends SmbServerTestSupport {
     public void testAllowNullBodyTrue() {
         template.sendBody(getSmbUrl() + "&fileName=allowNullBody1.txt&allowNullBody=true", null);
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("",
                         new String(copyFileContentFromContainer("/data/rw/nullbody/allowNullBody1.txt"))));
     }
@@ -55,7 +55,7 @@ public class SmbProducerAllowNullBodyIT extends SmbServerTestSupport {
                 = assertIsInstanceOf(GenericFileOperationFailedException.class, ex.getCause());
         assertTrue(cause.getMessage().endsWith("allowNullBody2.txt"));
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertNull((copyFileContentFromContainer("/data/rw/nullbody/allowNullBody2.txt"))));
     }
 
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerBuildDirectoryIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerBuildDirectoryIT.java
index c78957f5418f..ba3161f58f98 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerBuildDirectoryIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerBuildDirectoryIT.java
@@ -35,7 +35,7 @@ public class SmbProducerBuildDirectoryIT extends SmbServerTestSupport {
     public void testProduceAndBuildFullRemotFolderTest() {
         sendFile(getSmbUrl(), "Hello World", "jono.txt");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(copyFileContentFromContainer("/data/rw/buildDir/user/jono/jono.txt"))));
 
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerDoneFileNameIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerDoneFileNameIT.java
index c1c3baa3df78..93873d3097d7 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerDoneFileNameIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerDoneFileNameIT.java
@@ -42,11 +42,11 @@ public class SmbProducerDoneFileNameIT extends SmbServerTestSupport {
         template.sendBodyAndHeader(getSmbUrl("constdone") + "&doneFileName=done", "Hello World", Exchange.FILE_NAME,
                 "hello.txt");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(copyFileContentFromContainer("data/rw/constdone/hello.txt"))));
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("",
                         new String(copyFileContentFromContainer("/data/rw/constdone/done"))));
     }
@@ -57,11 +57,11 @@ public class SmbProducerDoneFileNameIT extends SmbServerTestSupport {
                 Exchange.FILE_NAME,
                 "hello.txt");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(copyFileContentFromContainer("/data/rw/prefixdone/hello.txt"))));
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("",
                         new String(copyFileContentFromContainer("/data/rw/prefixdone/done-hello.txt"))));
     }
@@ -72,11 +72,11 @@ public class SmbProducerDoneFileNameIT extends SmbServerTestSupport {
                 Exchange.FILE_NAME,
                 "hello.txt");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(copyFileContentFromContainer("/data/rw/extdone/hello.txt"))));
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("",
                         new String(copyFileContentFromContainer("/data/rw/extdone/hello.txt.done"))));
     }
@@ -87,11 +87,11 @@ public class SmbProducerDoneFileNameIT extends SmbServerTestSupport {
                 Exchange.FILE_NAME,
                 "hello.txt");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(copyFileContentFromContainer("/data/rw/replextdone/hello.txt"))));
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("",
                         new String(copyFileContentFromContainer("/data/rw/replextdone/hello.done"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistAppendIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistAppendIT.java
index b427539ca30d..56e132f5d977 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistAppendIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistAppendIT.java
@@ -51,7 +51,7 @@ public class SmbProducerFileExistAppendIT extends SmbServerTestSupport {
 
         MockEndpoint.assertIsSatisfied(context);
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World\nBye World",
                         new String(copyFileContentFromContainer("/data/rw/exist/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistAppendNoFileBeforeIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistAppendNoFileBeforeIT.java
index bcbbf2091fe0..20190a063ba2 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistAppendNoFileBeforeIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistAppendNoFileBeforeIT.java
@@ -43,7 +43,7 @@ public class SmbProducerFileExistAppendNoFileBeforeIT extends SmbServerTestSuppo
 
         MockEndpoint.assertIsSatisfied(context);
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye World",
                         new String(copyFileContentFromContainer("/data/rw/appnotexist/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistFailIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistFailIT.java
index 61ab53af6305..1a25daf4285a 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistFailIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistFailIT.java
@@ -49,7 +49,7 @@ public class SmbProducerFileExistFailIT extends SmbServerTestSupport {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("Hello World");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(copyFileContentFromContainer("/data/rw/existfail/hello.txt"))));
 
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistIgnoreIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistIgnoreIT.java
index c57b72680d9d..0162985a9ddb 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistIgnoreIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistIgnoreIT.java
@@ -48,7 +48,7 @@ public class SmbProducerFileExistIgnoreIT extends SmbServerTestSupport {
 
         MockEndpoint.assertIsSatisfied(context);
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(copyFileContentFromContainer("/data/rw/existignore/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideIT.java
index 06678d9eaa73..20822f960132 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideIT.java
@@ -48,7 +48,7 @@ public class SmbProducerFileExistOverrideIT extends SmbServerTestSupport {
 
         MockEndpoint.assertIsSatisfied(context);
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye World",
                         new String(copyFileContentFromContainer("/data/rw/existoverride/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideNoFileBeforeIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideNoFileBeforeIT.java
index 3ac9e510a9aa..e51a4c67ecc6 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideNoFileBeforeIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideNoFileBeforeIT.java
@@ -43,7 +43,7 @@ public class SmbProducerFileExistOverrideNoFileBeforeIT extends SmbServerTestSup
 
         MockEndpoint.assertIsSatisfied(context);
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye World",
                         new String(copyFileContentFromContainer("/data/rw/notexistoverride/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideNotEagerDeleteTargetFileTwoUploadIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideNotEagerDeleteTargetFileTwoUploadIT.java
index eacd063d8401..6df43eeacf2d 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideNotEagerDeleteTargetFileTwoUploadIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideNotEagerDeleteTargetFileTwoUploadIT.java
@@ -36,13 +36,13 @@ public class SmbProducerFileExistOverrideNotEagerDeleteTargetFileTwoUploadIT ext
     public void testOverride() throws Exception {
         template.sendBodyAndHeader(getSmbUrl(), "Hello World", Exchange.FILE_NAME, "hello.txt");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(copyFileContentFromContainer("/data/rw/existOverrideTwoNotEagerDel/hello.txt"))));
 
         template.sendBodyAndHeader(getSmbUrl(), "Bye World", Exchange.FILE_NAME, "hello.txt");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye World",
                         new String(copyFileContentFromContainer("/data/rw/existOverrideTwoNotEagerDel/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideTwoUploadIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideTwoUploadIT.java
index 8e0644232c69..362cdd029ab2 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideTwoUploadIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileExistOverrideTwoUploadIT.java
@@ -36,13 +36,13 @@ public class SmbProducerFileExistOverrideTwoUploadIT extends SmbServerTestSuppor
     public void testOverride() throws Exception {
         template.sendBodyAndHeader(getSmbUrl(), "Hello World", Exchange.FILE_NAME, "hello.txt");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(copyFileContentFromContainer("/data/rw/existoverridetwo/hello.txt"))));
 
         template.sendBodyAndHeader(getSmbUrl(), "Bye World", Exchange.FILE_NAME, "hello.txt");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye World",
                         new String(copyFileContentFromContainer("/data/rw/existoverridetwo/hello.txt"))));
     }
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileWithCharsetIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileWithCharsetIT.java
index 5e1558fa078c..8456182ab31d 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileWithCharsetIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileWithCharsetIT.java
@@ -58,7 +58,7 @@ public class SmbProducerFileWithCharsetIT extends SmbServerTestSupport {
     public void testProducerWithCharset() throws Exception {
         sendFile(getSmbUrl(), payload, "iso.txt");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals(payload,
                         new String(copyFileContentFromContainer("/data/rw/charset/iso.txt"), StandardCharsets.ISO_8859_1)));
 
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileWithPathIT.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileWithPathIT.java
index 4c810fdaa1ba..b0b1eb62b931 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileWithPathIT.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerFileWithPathIT.java
@@ -36,7 +36,7 @@ public class SmbProducerFileWithPathIT extends SmbServerTestSupport {
     public void testProducerFileWithPath() throws Exception {
         sendFile(getSmbUrl(), "Hello World", "hello/jono.txt");
 
-        await().atMost(3, TimeUnit.SECONDS)
+        await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(
                                 copyFileContentFromContainer("/data/rw/uploadWithPath/hello/jono.txt"),
diff --git a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbServerTestSupport.java b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbServerTestSupport.java
index b7dd44ca44ca..7649cdcb0169 100644
--- a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbServerTestSupport.java
+++ b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbServerTestSupport.java
@@ -39,7 +39,11 @@ public abstract class SmbServerTestSupport extends CamelTestSupport {
     public static SmbService service = SmbServiceFactory.createSingletonService();
 
     public byte[] copyFileContentFromContainer(String fileName) {
-        return service.copyFileFromContainer(fileName, IOUtils::toByteArray);
+        byte[] bytes = service.copyFileFromContainer(fileName, IOUtils::toByteArray);
+        if (bytes == null) {
+            throw new AssertionError("File not found in container: " + fileName);
+        }
+        return bytes;
     }
 
     public void sendFile(String url, Object body, String fileName) {