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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 464843db733c CAMEL-25926: camel-smb - Fix flaky 
FromSmbMoveWithExistingIT NPE (#29728)
464843db733c is described below

commit 464843db733cc29a596cb076e532400cfc225503
Author: AurĂ©lien Pupier <[email protected]>
AuthorDate: Thu Nov 12 21:46:09 2026 +0100

    CAMEL-25926: camel-smb - Fix flaky FromSmbMoveWithExistingIT NPE (#29728)
    
    copyFileContentFromContainer returns null while the file does not exist 
yet, and the test called new String(null) inside Awaitility's untilAsserted, 
which throws a NullPointerException that Awaitility does not retry. Add 
SmbServerTestSupport.copyExistingFileContentFromContainer, which asserts the 
content is not null (an AssertionError, so Awaitility retries), and use it in 
all SMB ITs that build a String from the container file content.
    
    Description generated by IBM Bob 2.2.1 on behalf of apupier.
    
    Co-authored-by: IBM Bob 2.2.1
---
 .../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      |  2 +-
 .../component/smb/FromSmbPreMoveFileExpressionIT.java    |  4 ++--
 .../org/apache/camel/component/smb/FromSmbPreMoveIT.java |  2 +-
 .../camel/component/smb/SmbConsumerPartialReadIT.java    |  2 +-
 .../component/smb/SmbConsumerPartialReadNoPathIT.java    |  2 +-
 .../org/apache/camel/component/smb/SmbDeleteFileIT.java  |  2 +-
 .../smb/SmbDeleteFilePathBackwardsCompatibleIT.java      |  2 +-
 .../org/apache/camel/component/smb/SmbDisconnectIT.java  |  2 +-
 .../camel/component/smb/SmbProducerAllowNullBodyIT.java  |  2 +-
 .../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      |  4 +++-
 .../camel/component/smb/SmbProducerFileWithPathIT.java   |  2 +-
 .../camel/component/smb/SmbProducerTempPrefixIT.java     |  2 +-
 .../apache/camel/component/smb/SmbServerTestSupport.java | 12 ++++++++++++
 27 files changed, 52 insertions(+), 38 deletions(-)

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 1d3710ae07e9..12fece959eae 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
@@ -49,15 +49,15 @@ public class FromSmbMoveFileAbsoluteFolderRecursiveIT 
extends SmbServerTestSuppo
         // verify files reside in the SMB dir within the docker container
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello",
-                        new 
String(copyFileContentFromContainer("/data/rw/.done/hello.txt.old"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/.done/hello.txt.old"))));
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye",
-                        new 
String(copyFileContentFromContainer("/data/rw/.done/bye/bye.txt.old"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/.done/bye/bye.txt.old"))));
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Goodday",
-                        new 
String(copyFileContentFromContainer("/data/rw/.done/goodday/goodday.txt.old"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/.done/goodday/goodday.txt.old"))));
     }
 
     private void prepareSmbServer() {
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 ffab841b065f..e8033969207a 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
@@ -50,7 +50,7 @@ public class FromSmbMoveFileToSubdirIT extends 
SmbServerTestSupport {
         // verify file moved in smb dir
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will 
be moved",
-                        new 
String(copyFileContentFromContainer("/data/rw/movefiletosubdir/greet/hello.txt.old"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/movefiletosubdir/greet/hello.txt.old"))));
     }
 
     @Override
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 a0ed685ab36b..39d4bade5cf5 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
@@ -50,7 +50,7 @@ public class FromSmbMoveWithExistingIT extends 
SmbServerTestSupport {
         // verify file resides in the smb dir within the docker container
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will 
be moved",
-                        new 
String(copyFileContentFromContainer("/data/rw/moveexist/hello.txt.old"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/moveexist/hello.txt.old"))));
     }
 
     @Override
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 d523e362bf4e..1516267791c2 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
@@ -53,7 +53,7 @@ public class FromSmbNoopIT extends SmbServerTestSupport {
         // assert the file is still there
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("/data/rw/noop/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/noop/hello.txt"))));
     }
 
     private void prepareSmbServer() throws Exception {
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 117550564521..b482203d7c39 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
@@ -63,7 +63,7 @@ public class FromSmbPreMoveDeleteIT extends 
SmbServerTestSupport {
                         // assert the file is pre moved
                         await().atMost(15, TimeUnit.SECONDS)
                                 .untilAsserted(() -> assertEquals("Hello World 
this file will be moved",
-                                        new 
String(copyFileContentFromContainer("/data/rw/premove/work/hello.txt"))));
+                                        new 
String(copyExistingFileContentFromContainer("/data/rw/premove/work/hello.txt"))));
 
                     }
                 }).to("mock:result");
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 c3771a6141e3..cf19a5a6f85f 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
@@ -66,7 +66,7 @@ public class FromSmbPreMoveFileExpressionIT extends 
SmbServerTestSupport {
         // assert file is created
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will 
be moved",
-                        new 
String(copyFileContentFromContainer("/data/rw/premoveexpr/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/premoveexpr/hello.txt"))));
     }
 
     @Override
@@ -78,7 +78,7 @@ public class FromSmbPreMoveFileExpressionIT extends 
SmbServerTestSupport {
                         // assert the file is pre moved
                         await().atMost(15, TimeUnit.SECONDS)
                                 .untilAsserted(() -> assertEquals("Hello World 
this file will be moved",
-                                        new 
String(copyFileContentFromContainer("/data/rw/inprogress/hello.bak"))));
+                                        new 
String(copyExistingFileContentFromContainer("/data/rw/inprogress/hello.bak"))));
                     }
                 }).to("mock:result");
             }
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 95d6a0bb629f..72316551d583 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
@@ -49,7 +49,7 @@ public class FromSmbPreMoveIT extends SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will 
be moved",
-                        new 
String(copyFileContentFromContainer("/data/rw/premove/work/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/premove/work/hello.txt"))));
     }
 
     @Override
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 adc8df3ffca1..b7c872246f75 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
@@ -50,7 +50,7 @@ class SmbConsumerPartialReadIT extends SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("/data/rw/partialread/failed/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/partialread/failed/hello.txt"))));
     }
 
     @Override
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 598df91b0a43..75645e79becd 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
@@ -58,7 +58,7 @@ public class SmbConsumerPartialReadNoPathIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello Uuid",
-                        new 
String(copyFileContentFromContainer("/data/rw/failed/" + uuid))));
+                        new 
String(copyExistingFileContentFromContainer("/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 4c04f3e19b63..d9acb72feac0 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
@@ -58,7 +58,7 @@ public class SmbDeleteFileIT extends SmbServerTestSupport {
         // assert file is created
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will 
be deleted",
-                        new 
String(copyFileContentFromContainer("/data/rw/deletedfile/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/deletedfile/hello.txt"))));
     }
 
     @Override
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 427013b06564..ea7c868bd11d 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
@@ -58,7 +58,7 @@ public class SmbDeleteFilePathBackwardsCompatibleIT extends 
SmbServerTestSupport
         // assert file is created
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World this file will 
be deleted",
-                        new 
String(copyFileContentFromContainer("/data/rw/deletedfile2/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/deletedfile2/hello.txt"))));
     }
 
     @Override
diff --git 
a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDisconnectIT.java
 
b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDisconnectIT.java
index 6ed5a8aa16bc..615932580ffe 100644
--- 
a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDisconnectIT.java
+++ 
b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbDisconnectIT.java
@@ -45,7 +45,7 @@ public class SmbDisconnectIT extends SmbServerTestSupport {
         TrackingSocketFactory socketFactory = 
createAndBindSocketTrackingSmbConfig();
         sendFile(getSmbUrl(), "Hello World", "hello.txt");
 
-        assertEquals("Hello World", new 
String(copyFileContentFromContainer("/data/rw/disconnect/hello.txt")));
+        assertEquals("Hello World", new 
String(copyExistingFileContentFromContainer("/data/rw/disconnect/hello.txt")));
         assertSocketsAreClosed(socketFactory, 1, "There should be one tracked 
and closed socket (producer)");
     }
 
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 902504fba0ba..9491e24678de 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
@@ -43,7 +43,7 @@ public class SmbProducerAllowNullBodyIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("",
-                        new 
String(copyFileContentFromContainer("/data/rw/nullbody/allowNullBody1.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/nullbody/allowNullBody1.txt"))));
     }
 
     @Test
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 ba3161f58f98..37f632bb5a39 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
@@ -37,7 +37,7 @@ public class SmbProducerBuildDirectoryIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("/data/rw/buildDir/user/jono/jono.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/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 93873d3097d7..9c9889019321 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
@@ -44,11 +44,11 @@ public class SmbProducerDoneFileNameIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("data/rw/constdone/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("data/rw/constdone/hello.txt"))));
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("",
-                        new 
String(copyFileContentFromContainer("/data/rw/constdone/done"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/constdone/done"))));
     }
 
     @Test
@@ -59,11 +59,11 @@ public class SmbProducerDoneFileNameIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("/data/rw/prefixdone/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/prefixdone/hello.txt"))));
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("",
-                        new 
String(copyFileContentFromContainer("/data/rw/prefixdone/done-hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/prefixdone/done-hello.txt"))));
     }
 
     @Test
@@ -74,11 +74,11 @@ public class SmbProducerDoneFileNameIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("/data/rw/extdone/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/extdone/hello.txt"))));
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("",
-                        new 
String(copyFileContentFromContainer("/data/rw/extdone/hello.txt.done"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/extdone/hello.txt.done"))));
     }
 
     @Test
@@ -89,11 +89,11 @@ public class SmbProducerDoneFileNameIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("/data/rw/replextdone/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/replextdone/hello.txt"))));
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("",
-                        new 
String(copyFileContentFromContainer("/data/rw/replextdone/hello.done"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/replextdone/hello.done"))));
     }
 
     @Test
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 56e132f5d977..8d21b0cf27bc 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
@@ -53,7 +53,7 @@ public class SmbProducerFileExistAppendIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World\nBye World",
-                        new 
String(copyFileContentFromContainer("/data/rw/exist/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/exist/hello.txt"))));
     }
 
     @Override
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 20190a063ba2..6889ddbe0f0e 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
@@ -45,7 +45,7 @@ public class SmbProducerFileExistAppendNoFileBeforeIT extends 
SmbServerTestSuppo
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye World",
-                        new 
String(copyFileContentFromContainer("/data/rw/appnotexist/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/appnotexist/hello.txt"))));
     }
 
     @Override
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 1a25daf4285a..d4c73b5f9d8d 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
@@ -51,7 +51,7 @@ public class SmbProducerFileExistFailIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("/data/rw/existfail/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/existfail/hello.txt"))));
 
         String uri = getSmbUrl();
         Exception ex = assertThrows(CamelExecutionException.class,
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 0162985a9ddb..f8d9a0478d63 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
@@ -50,7 +50,7 @@ public class SmbProducerFileExistIgnoreIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("/data/rw/existignore/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/existignore/hello.txt"))));
     }
 
     @Override
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 20822f960132..303310b593bf 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
@@ -50,7 +50,7 @@ public class SmbProducerFileExistOverrideIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye World",
-                        new 
String(copyFileContentFromContainer("/data/rw/existoverride/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/existoverride/hello.txt"))));
     }
 
     @Override
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 e51a4c67ecc6..9b4cc6004fe2 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
@@ -45,7 +45,7 @@ public class SmbProducerFileExistOverrideNoFileBeforeIT 
extends SmbServerTestSup
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye World",
-                        new 
String(copyFileContentFromContainer("/data/rw/notexistoverride/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/notexistoverride/hello.txt"))));
     }
 
     @Override
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 6df43eeacf2d..26e310776c9b 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
@@ -38,12 +38,12 @@ public class 
SmbProducerFileExistOverrideNotEagerDeleteTargetFileTwoUploadIT ext
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("/data/rw/existOverrideTwoNotEagerDel/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/existOverrideTwoNotEagerDel/hello.txt"))));
 
         template.sendBodyAndHeader(getSmbUrl(), "Bye World", 
Exchange.FILE_NAME, "hello.txt");
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye World",
-                        new 
String(copyFileContentFromContainer("/data/rw/existOverrideTwoNotEagerDel/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/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 362cdd029ab2..f5c660637e44 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
@@ -38,12 +38,12 @@ public class SmbProducerFileExistOverrideTwoUploadIT 
extends SmbServerTestSuppor
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("/data/rw/existoverridetwo/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/existoverridetwo/hello.txt"))));
 
         template.sendBodyAndHeader(getSmbUrl(), "Bye World", 
Exchange.FILE_NAME, "hello.txt");
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Bye World",
-                        new 
String(copyFileContentFromContainer("/data/rw/existoverridetwo/hello.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/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 8456182ab31d..c12ad4316344 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
@@ -60,7 +60,9 @@ public class SmbProducerFileWithCharsetIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals(payload,
-                        new 
String(copyFileContentFromContainer("/data/rw/charset/iso.txt"), 
StandardCharsets.ISO_8859_1)));
+                        new String(
+                                
copyExistingFileContentFromContainer("/data/rw/charset/iso.txt"),
+                                StandardCharsets.ISO_8859_1)));
 
         byte[] data = copyFileContentFromContainer("/data/rw/charset/iso.txt");
 
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 b0b1eb62b931..f1f4090dc141 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
@@ -39,7 +39,7 @@ public class SmbProducerFileWithPathIT extends 
SmbServerTestSupport {
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
                         new String(
-                                
copyFileContentFromContainer("/data/rw/uploadWithPath/hello/jono.txt"),
+                                
copyExistingFileContentFromContainer("/data/rw/uploadWithPath/hello/jono.txt"),
                                 StandardCharsets.ISO_8859_1)));
     }
 }
diff --git 
a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerTempPrefixIT.java
 
b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerTempPrefixIT.java
index 248c20a95e3b..2e0e7c5e638f 100644
--- 
a/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerTempPrefixIT.java
+++ 
b/components/camel-smb/src/test/java/org/apache/camel/component/smb/SmbProducerTempPrefixIT.java
@@ -37,6 +37,6 @@ public class SmbProducerTempPrefixIT extends 
SmbServerTestSupport {
 
         await().atMost(15, TimeUnit.SECONDS)
                 .untilAsserted(() -> assertEquals("Hello World",
-                        new 
String(copyFileContentFromContainer("/data/rw/tempprefix.txt"))));
+                        new 
String(copyExistingFileContentFromContainer("/data/rw/tempprefix.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..5c82cb0dc40c 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
@@ -29,6 +29,8 @@ import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.commons.io.IOUtils;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
 /**
  * Base class for unit testing using a SMBServer
  */
@@ -42,6 +44,16 @@ public abstract class SmbServerTestSupport extends 
CamelTestSupport {
         return service.copyFileFromContainer(fileName, IOUtils::toByteArray);
     }
 
+    /**
+     * Same as {@link #copyFileContentFromContainer(String)} but fails with an 
{@link AssertionError} when the file does
+     * not exist (yet), so it can be retried by Awaitility instead of causing 
a NullPointerException.
+     */
+    public byte[] copyExistingFileContentFromContainer(String fileName) {
+        byte[] content = copyFileContentFromContainer(fileName);
+        assertNotNull(content, "File should exist: " + fileName);
+        return content;
+    }
+
     public void sendFile(String url, Object body, String fileName) {
         template.sendBodyAndHeader(url, body, Exchange.FILE_NAME, fileName);
     }

Reply via email to