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);