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

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


The following commit(s) were added to refs/heads/main by this push:
     new 97f427bac4 Fix SFTP tests running using hardcoded localhost to be able 
to use remote docker
97f427bac4 is described below

commit 97f427bac4410d802454163f5062e6ea4b33bb7e
Author: GaĆ«lle Fournier <[email protected]>
AuthorDate: Fri Sep 25 09:54:59 2026 +0200

    Fix SFTP tests running using hardcoded localhost to be able to use remote 
docker
    
    * Remove hardcoded localhost in sftp tests
    * remove throwaway container in sftp tests support code
    
    Fixes #9235.
---
 .../test/support/sftp/SftpCertificates.java        | 14 ++++--
 .../support/sftp/SftpHostCertTestResource.java     | 36 +++++++++------
 .../test/support/sftp/SftpTestResource.java        |  1 +
 .../quarkus/component/sftp/it/SftpResource.java    | 45 ++++++++++--------
 .../component/mina/sftp/it/MinaSftpResource.java   | 54 +++++++++++-----------
 5 files changed, 86 insertions(+), 64 deletions(-)

diff --git 
a/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpCertificates.java
 
b/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpCertificates.java
index 8bd83ea44b..712ff43969 100644
--- 
a/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpCertificates.java
+++ 
b/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpCertificates.java
@@ -28,6 +28,7 @@ import java.security.spec.ECGenParameterSpec;
 import java.time.Duration;
 import java.time.Instant;
 import java.util.Collections;
+import java.util.List;
 
 import org.apache.camel.quarkus.test.FipsModeUtil;
 import org.apache.sshd.certificate.OpenSshCertificateBuilder;
@@ -100,12 +101,19 @@ public class SftpCertificates {
      * Generate all required SSH certificates using Apache SSHD.
      */
     public static SftpCertificates generate(Path sshDir) throws Exception {
+        return generate(sshDir, Collections.singletonList("localhost"));
+    }
+
+    /**
+     * Generate all required SSH certificates with custom host certificate 
principals.
+     */
+    public static SftpCertificates generate(Path sshDir, List<String> 
hostPrincipals) throws Exception {
         SftpCertificates certs = new SftpCertificates(sshDir);
-        certs.generateAll();
+        certs.generateAll(hostPrincipals);
         return certs;
     }
 
-    private void generateAll() throws Exception {
+    private void generateAll(List<String> hostPrincipals) throws Exception {
         // Register BouncyCastle provider for Ed25519 support
         java.security.Security.addProvider(new 
org.bouncycastle.jce.provider.BouncyCastleProvider());
 
@@ -161,7 +169,7 @@ public class SftpCertificates {
                 .serial(random.nextLong() & Long.MAX_VALUE)
                 .publicKey(hostKeyPair.getPublic())
                 .id("sftp-server")
-                .principals(Collections.singletonList("localhost"))
+                .principals(hostPrincipals)
                 .validAfter(Instant.now().minus(Duration.ofMinutes(1)))
                 .validBefore(Instant.now().plus(Duration.ofDays(365)))
                 .sign(hostCaKeyPair);
diff --git 
a/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpHostCertTestResource.java
 
b/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpHostCertTestResource.java
index 0c20c43805..902ceca574 100644
--- 
a/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpHostCertTestResource.java
+++ 
b/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpHostCertTestResource.java
@@ -19,7 +19,9 @@ package org.apache.camel.quarkus.test.support.sftp;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.Arrays;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.stream.Stream;
 
@@ -52,39 +54,43 @@ public class SftpHostCertTestResource implements 
QuarkusTestResourceLifecycleMan
             Path sshDir = tempDir.resolve("ssh");
             Files.createDirectories(sshDir);
 
-            SftpCertificates certificates = SftpCertificates.generate(sshDir);
-            LOGGER.info("Generated SSH certificates with host cert in: " + 
sshDir);
-
-            // Create custom sshd_config that uses host certificate and trusts 
user CA
-            Path sshdConfigPath = createSshdConfig(sshDir);
-
-            // Start OpenSSH container with host certificate configuration
             container = new GenericContainer<>(opensshImage)
                     .withExposedPorts(SFTP_PORT)
                     .withEnv("PASSWORD_ACCESS", "true")
                     .withEnv("USER_NAME", USERNAME)
                     .withEnv("USER_PASSWORD", PASSWORD)
                     .withEnv("SUDO_ACCESS", "false")
-                    // Copy host certificate and key
-                    .withCopyFileToContainer(
-                            
MountableFile.forHostPath(certificates.getHostPrivateKeyPath()),
-                            "/config/ssh_host_ed25519_key")
+                    .waitingFor(Wait.forLogMessage(".*done.*", 1));
+
+            // Determine Docker host before generating certificates so the 
host cert
+            // principal matches the actual connection target (supports remote 
Docker)
+            String dockerHost = container.getHost();
+            List<String> hostPrincipals = "localhost".equals(dockerHost)
+                    ? List.of("localhost")
+                    : Arrays.asList(dockerHost, "localhost");
+
+            SftpCertificates certificates = SftpCertificates.generate(sshDir, 
hostPrincipals);
+            LOGGER.info("Generated SSH certificates with host cert in: " + 
sshDir);
+
+            Path sshdConfigPath = createSshdConfig(sshDir);
+
+            container.withCopyFileToContainer(
+                    
MountableFile.forHostPath(certificates.getHostPrivateKeyPath()),
+                    "/config/ssh_host_ed25519_key")
                     .withCopyFileToContainer(
                             
MountableFile.forHostPath(certificates.getHostCertificatePath()),
                             "/config/ssh_host_ed25519_key-cert.pub")
-                    // Copy user CA public key for user cert verification
                     .withCopyFileToContainer(
                             
MountableFile.forHostPath(certificates.getUserCaPubKeyPath()),
                             "/config/user_ca.pub")
-                    // Copy custom sshd_config
                     .withCopyFileToContainer(
                             MountableFile.forHostPath(sshdConfigPath),
-                            "/etc/ssh/sshd_config")
-                    .waitingFor(Wait.forLogMessage(".*done.*", 1));
+                            "/etc/ssh/sshd_config");
 
             container.start();
 
             Map<String, String> result = new HashMap<>();
+            result.put("camel.sftp.hostcert.test-host", container.getHost());
             result.put("camel.sftp.hostcert.test-port", 
container.getMappedPort(SFTP_PORT).toString());
 
             // Set system property for JVM mode AND return in map for native 
mode command-line args
diff --git 
a/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpTestResource.java
 
b/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpTestResource.java
index 6c2f39b26b..7d3d0b9d2c 100644
--- 
a/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpTestResource.java
+++ 
b/integration-tests-support/sftp/src/main/java/org/apache/camel/quarkus/test/support/sftp/SftpTestResource.java
@@ -95,6 +95,7 @@ public class SftpTestResource implements 
QuarkusTestResourceLifecycleManager {
             container.execInContainer("chmod", "600", 
"/config/.ssh/authorized_keys");
 
             Map<String, String> result = new HashMap<>();
+            result.put("camel.sftp.test-host", container.getHost());
             result.put("camel.sftp.test-port", 
container.getMappedPort(SFTP_PORT).toString());
 
             // Set system properties for JVM mode AND return in map for native 
mode command-line args
diff --git 
a/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/sftp/it/SftpResource.java
 
b/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/sftp/it/SftpResource.java
index 5c28cfc99e..c2cbc8c2c4 100644
--- 
a/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/sftp/it/SftpResource.java
+++ 
b/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/sftp/it/SftpResource.java
@@ -63,7 +63,7 @@ public class SftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFile(@PathParam("fileName") String fileName) {
         return consumerTemplate.receiveBody(
-                
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&useUserKnownHostsFile=false&localWorkDirectory=target&fileName=";
+                
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&useUserKnownHostsFile=false&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -75,7 +75,7 @@ public class SftpResource {
     public Response createFile(@PathParam("fileName") String fileName, String 
fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&useUserKnownHostsFile=false";,
+                
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&useUserKnownHostsFile=false";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -87,7 +87,7 @@ public class SftpResource {
     @DELETE
     public void deleteFile(@PathParam("fileName") String fileName) {
         consumerTemplate.receiveBody(
-                
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&useUserKnownHostsFile=false&delete=true&fileName=";
+                
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&useUserKnownHostsFile=false&delete=true&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -97,7 +97,7 @@ public class SftpResource {
     @PUT
     public void moveToDoneFile(@PathParam("fileName") String fileName) {
         consumerTemplate.receiveBody(
-                
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&useUserKnownHostsFile=false&move=${headers.CamelFileName}.done&fileName=";
+                
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&useUserKnownHostsFile=false&move=${headers.CamelFileName}.done&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -109,7 +109,7 @@ public class SftpResource {
     public Response createFileWithCertificate(@PathParam("fileName") String 
fileName, String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false";,
+                
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -122,7 +122,7 @@ public class SftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithCertificate(@PathParam("fileName") String 
fileName) {
         return consumerTemplate.receiveBody(
-                
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false&localWorkDirectory=target&fileName=";
+                
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -134,7 +134,7 @@ public class SftpResource {
     public Response createFileWithCertificateFile(@PathParam("fileName") 
String fileName, String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/classes/certs/test-key-rsa.key&certFile=target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false";,
+                
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/classes/certs/test-key-rsa.key&certFile=target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -147,7 +147,7 @@ public class SftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithCertificateFile(@PathParam("fileName") String 
fileName) {
         return consumerTemplate.receiveBody(
-                
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/classes/certs/test-key-rsa.key&certFile=target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false&localWorkDirectory=target&fileName=";
+                
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/classes/certs/test-key-rsa.key&certFile=target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -159,7 +159,7 @@ public class SftpResource {
     public Response createFileWithCertificateBytes(@PathParam("fileName") 
String fileName, String fileContent)
             throws Exception {
 
-        String uri = "sftp://admin@localhost:{{camel.sftp.test-port}}/sftp";;
+        String uri = 
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp";;
         SftpEndpoint endpoint = context.getEndpoint(uri, SftpEndpoint.class);
         SftpConfiguration config = endpoint.getConfiguration();
 
@@ -176,7 +176,7 @@ public class SftpResource {
     @GET
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithCertificateBytes(@PathParam("fileName") String 
fileName) throws Exception {
-        String uri = 
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?localWorkDirectory=target&fileName=";
+        String uri = 
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?localWorkDirectory=target&fileName=";
                 + fileName;
         SftpEndpoint endpoint = context.getEndpoint(uri, SftpEndpoint.class);
         SftpConfiguration config = endpoint.getConfiguration();
@@ -193,7 +193,7 @@ public class SftpResource {
     public Response 
createFileWithCertificateAndCaAlgorithms(@PathParam("fileName") String 
fileName, String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false&caSignatureAlgorithms=rsa-sha2-512,rsa-sha2-256,ssh-rsa";,
+                
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false&caSignatureAlgorithms=rsa-sha2-512,rsa-sha2-256,ssh-rsa";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -206,7 +206,7 @@ public class SftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithCertificateAndCaAlgorithms(@PathParam("fileName") 
String fileName) {
         return consumerTemplate.receiveBody(
-                
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false&caSignatureAlgorithms=rsa-sha2-512,rsa-sha2-256,ssh-rsa&localWorkDirectory=target&fileName=";
+                
"sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&useUserKnownHostsFile=false&caSignatureAlgorithms=rsa-sha2-512,rsa-sha2-256,ssh-rsa&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -218,8 +218,9 @@ public class SftpResource {
     public Response createFileWithHostCertVerification(@PathParam("fileName") 
String fileName, String fileContent)
             throws Exception {
         byte[] knownHostsContent = getHostCaKnownHostsContent();
+        String host = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-host}}");
         String port = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-port}}");
-        String uri = "sftp://admin@localhost:"; + port
+        String uri = "sftp://admin@"; + host + ":" + port
                 + 
"/sftp?password=admin&strictHostKeyChecking=no&useUserKnownHostsFile=false&caSignatureAlgorithms=ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa";
 
         SftpEndpoint endpoint = context.getEndpoint(uri, SftpEndpoint.class);
@@ -237,8 +238,9 @@ public class SftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithHostCertVerification(@PathParam("fileName") 
String fileName) throws Exception {
         byte[] knownHostsContent = getHostCaKnownHostsContent();
+        String host = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-host}}");
         String port = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-port}}");
-        String uri = "sftp://admin@localhost:"; + port
+        String uri = "sftp://admin@"; + host + ":" + port
                 + 
"/sftp?password=admin&strictHostKeyChecking=no&useUserKnownHostsFile=false&caSignatureAlgorithms=ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa&localWorkDirectory=target&fileName="
                 + fileName;
 
@@ -253,8 +255,9 @@ public class SftpResource {
     @DELETE
     public Response deleteFileWithHostCert(@PathParam("fileName") String 
fileName) throws Exception {
         byte[] knownHostsContent = getHostCaKnownHostsContent();
+        String host = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-host}}");
         String port = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-port}}");
-        String uri = "sftp://admin@localhost:"; + port
+        String uri = "sftp://admin@"; + host + ":" + port
                 + 
"/sftp?password=admin&strictHostKeyChecking=no&useUserKnownHostsFile=false&caSignatureAlgorithms=ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa&delete=true&fileName="
                 + fileName;
 
@@ -272,8 +275,9 @@ public class SftpResource {
     public Response createFileWithHostCertAndAlgorithms(@PathParam("fileName") 
String fileName, String fileContent)
             throws Exception {
         byte[] knownHostsContent = getHostCaKnownHostsContent();
+        String host = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-host}}");
         String port = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-port}}");
-        String uri = "sftp://admin@localhost:"; + port
+        String uri = "sftp://admin@"; + host + ":" + port
                 + 
"/sftp?password=admin&strictHostKeyChecking=no&useUserKnownHostsFile=false&caSignatureAlgorithms=ssh-ed25519,rsa-sha2-512,rsa-sha2-256";
 
         SftpEndpoint endpoint = context.getEndpoint(uri, SftpEndpoint.class);
@@ -291,8 +295,9 @@ public class SftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithHostCertAndAlgorithms(@PathParam("fileName") 
String fileName) throws Exception {
         byte[] knownHostsContent = getHostCaKnownHostsContent();
+        String host = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-host}}");
         String port = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-port}}");
-        String uri = "sftp://admin@localhost:"; + port
+        String uri = "sftp://admin@"; + host + ":" + port
                 + 
"/sftp?password=admin&strictHostKeyChecking=no&useUserKnownHostsFile=false&caSignatureAlgorithms=ssh-ed25519,rsa-sha2-512,rsa-sha2-256&localWorkDirectory=target&fileName="
                 + fileName;
 
@@ -307,8 +312,9 @@ public class SftpResource {
     @DELETE
     public Response deleteFileWithHostCertAndAlgorithms(@PathParam("fileName") 
String fileName) throws Exception {
         byte[] knownHostsContent = getHostCaKnownHostsContent();
+        String host = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-host}}");
         String port = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-port}}");
-        String uri = "sftp://admin@localhost:"; + port
+        String uri = "sftp://admin@"; + host + ":" + port
                 + 
"/sftp?password=admin&strictHostKeyChecking=no&useUserKnownHostsFile=false&caSignatureAlgorithms=ssh-ed25519,rsa-sha2-512,rsa-sha2-256&delete=true&fileName="
                 + fileName;
 
@@ -328,9 +334,10 @@ public class SftpResource {
      */
     private byte[] getHostCaKnownHostsContent() throws Exception {
         String hostCaPubKey = 
org.apache.camel.quarkus.test.support.sftp.SftpHostCertTestResource.getHostCaPublicKey();
+        String host = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-host}}");
         String port = 
context.resolvePropertyPlaceholders("{{camel.sftp.hostcert.test-port}}");
 
-        String knownHostsContent = String.format("@cert-authority 
[localhost]:%s %s%n", port, hostCaPubKey);
+        String knownHostsContent = String.format("@cert-authority [%s]:%s 
%s%n", host, port, hostCaPubKey);
 
         getLogger(SftpResource.class.getName()).fine(
                 "Created known_hosts content:\n" + knownHostsContent);
diff --git 
a/integration-tests/mina-sftp/src/main/java/org/apache/camel/quarkus/component/mina/sftp/it/MinaSftpResource.java
 
b/integration-tests/mina-sftp/src/main/java/org/apache/camel/quarkus/component/mina/sftp/it/MinaSftpResource.java
index b2433e1043..a76bd73075 100644
--- 
a/integration-tests/mina-sftp/src/main/java/org/apache/camel/quarkus/component/mina/sftp/it/MinaSftpResource.java
+++ 
b/integration-tests/mina-sftp/src/main/java/org/apache/camel/quarkus/component/mina/sftp/it/MinaSftpResource.java
@@ -76,7 +76,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFile(@PathParam("fileName") String fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -88,7 +88,7 @@ public class MinaSftpResource {
     public Response createFile(@PathParam("fileName") String fileName, String 
fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin";, 
fileContent,
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin";,
 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
                 .created(new URI("https://camel.apache.org/";))
@@ -101,7 +101,7 @@ public class MinaSftpResource {
     public Response appendToFile(@PathParam("fileName") String fileName, 
String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&fileExist=Append";,
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&fileExist=Append";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -114,7 +114,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String consumeFileWithNoop(@PathParam("fileName") String fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&localWorkDirectory=target&fileName=";
                         + fileName + "&noop=true",
                 TIMEOUT_MS,
                 String.class);
@@ -125,7 +125,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String consumeFileWithMove(@PathParam("fileName") String fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&localWorkDirectory=target&fileName=";
                         + fileName + "&move=${file:name}.done",
                 TIMEOUT_MS,
                 String.class);
@@ -136,7 +136,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String consumeFileWithDelete(@PathParam("fileName") String 
fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&localWorkDirectory=target&fileName=";
                         + fileName + "&delete=true",
                 TIMEOUT_MS,
                 String.class);
@@ -146,7 +146,7 @@ public class MinaSftpResource {
     @DELETE
     public void deleteFile(@PathParam("fileName") String fileName) {
         consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&delete=true&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&delete=true&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -156,7 +156,7 @@ public class MinaSftpResource {
     @PUT
     public void moveToDoneFile(@PathParam("fileName") String fileName) {
         consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&move=${headers.CamelFileName}.done&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&move=${headers.CamelFileName}.done&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -168,7 +168,7 @@ public class MinaSftpResource {
     public Response createFileWithPrivateKey(@PathParam("fileName") String 
fileName, String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/certs/ftp.key";,
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/certs/ftp.key";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -181,7 +181,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithPrivateKey(@PathParam("fileName") String 
fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/certs/ftp.key&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/certs/ftp.key&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -193,7 +193,7 @@ public class MinaSftpResource {
     public Response createFileWithEncryptedPrivateKey(@PathParam("fileName") 
String fileName, String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/certs/ftp-encrypted.key&privateKeyPassphrase=password";,
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/certs/ftp-encrypted.key&privateKeyPassphrase=password";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -206,7 +206,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithEncryptedPrivateKey(@PathParam("fileName") String 
fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/certs/ftp-encrypted.key&privateKeyPassphrase=password&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyFile=target/certs/ftp-encrypted.key&privateKeyPassphrase=password&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -218,7 +218,7 @@ public class MinaSftpResource {
     public Response createFileWithCertificate(@PathParam("fileName") String 
fileName, String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub";,
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -231,7 +231,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithCertificate(@PathParam("fileName") String 
fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -243,7 +243,7 @@ public class MinaSftpResource {
     public Response createFileWithCertificateUri(@PathParam("fileName") String 
fileName, String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub";,
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -256,7 +256,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithCertificateUri(@PathParam("fileName") String 
fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?privateKeyUri=file:target/classes/certs/test-key-rsa.key&certUri=file:target/classes/certs/test-key-rsa-cert.pub&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -268,7 +268,7 @@ public class MinaSftpResource {
     public Response createFileWithCertificateBytes(@PathParam("fileName") 
String fileName, String fileContent)
             throws Exception {
 
-        String uri = 
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp";;
+        String uri = 
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp";;
         MinaSftpEndpoint endpoint = context.getEndpoint(uri, 
MinaSftpEndpoint.class);
         MinaSftpConfiguration config = endpoint.getConfiguration();
 
@@ -285,7 +285,7 @@ public class MinaSftpResource {
     @GET
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithCertificateBytes(@PathParam("fileName") String 
fileName) throws Exception {
-        String uri = 
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?localWorkDirectory=target&fileName=";
+        String uri = 
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?localWorkDirectory=target&fileName=";
                 + fileName;
         MinaSftpEndpoint endpoint = context.getEndpoint(uri, 
MinaSftpEndpoint.class);
         MinaSftpConfiguration config = endpoint.getConfiguration();
@@ -302,7 +302,7 @@ public class MinaSftpResource {
     public Response createFileWithCompression(@PathParam("fileName") String 
fileName, String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&compression=6";,
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&compression=6";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -315,7 +315,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithCompression(@PathParam("fileName") String 
fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&compression=6&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&compression=6&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -326,7 +326,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithStreamDownload(@PathParam("fileName") String 
fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&streamDownload=true&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&streamDownload=true&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -338,7 +338,7 @@ public class MinaSftpResource {
     public Response createFileWithCustomCipher(@PathParam("fileName") String 
fileName, String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&ciphers=aes256-ctr,aes128-ctr";,
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&ciphers=aes256-ctr,aes128-ctr";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -351,7 +351,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithCustomCipher(@PathParam("fileName") String 
fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&ciphers=aes256-ctr,aes128-ctr&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&ciphers=aes256-ctr,aes128-ctr&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -363,7 +363,7 @@ public class MinaSftpResource {
     public Response createFileWithGcmCipher(@PathParam("fileName") String 
fileName, String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&[email protected],[email protected]";,
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&[email protected],[email protected]";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -376,7 +376,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithGcmCipher(@PathParam("fileName") String fileName) 
{
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&[email protected],[email protected]&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&[email protected],[email protected]&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);
@@ -388,7 +388,7 @@ public class MinaSftpResource {
     public Response createFileWithChaCha20Cipher(@PathParam("fileName") String 
fileName, String fileContent)
             throws Exception {
         producerTemplate.sendBodyAndHeader(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&[email protected]";,
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&[email protected]";,
                 fileContent,
                 Exchange.FILE_NAME, fileName);
         return Response
@@ -401,7 +401,7 @@ public class MinaSftpResource {
     @Produces(MediaType.TEXT_PLAIN)
     public String getFileWithChaCha20Cipher(@PathParam("fileName") String 
fileName) {
         return consumerTemplate.receiveBody(
-                
"mina-sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&[email protected]&localWorkDirectory=target&fileName=";
+                
"mina-sftp://admin@{{camel.sftp.test-host}}:{{camel.sftp.test-port}}/sftp?password=admin&preferredAuthentications=password&[email protected]&localWorkDirectory=target&fileName=";
                         + fileName,
                 TIMEOUT_MS,
                 String.class);

Reply via email to