You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by al...@apache.org on 2021/06/03 07:39:34 UTC
[camel-quarkus] branch main updated: Added move and delete tests
for FTP extension #2645
This is an automated email from the ASF dual-hosted git repository.
aldettinger 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 4e1334d Added move and delete tests for FTP extension #2645
4e1334d is described below
commit 4e1334dec370312a32c59850bac54fcce5792533
Author: aldettinger <al...@gmail.com>
AuthorDate: Wed Jun 2 17:57:30 2021 +0200
Added move and delete tests for FTP extension #2645
---
.../quarkus/component/ftp/it/FtpResource.java | 28 +++++++++++++++++--
.../quarkus/component/ftps/it/FtpsResource.java | 32 +++++++++++++++++++---
.../quarkus/component/sftp/it/SftpResource.java | 28 +++++++++++++++++--
.../camel/quarkus/component/ftp/it/FtpTest.java | 28 ++++++++++++++++++-
.../camel/quarkus/component/ftps/it/FtpsTest.java | 30 ++++++++++++++++++--
.../camel/quarkus/component/sftp/it/SftpTest.java | 30 ++++++++++++++++++--
6 files changed, 162 insertions(+), 14 deletions(-)
diff --git a/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/ftp/it/FtpResource.java b/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/ftp/it/FtpResource.java
index d2cbfb3..0e87e4f 100644
--- a/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/ftp/it/FtpResource.java
+++ b/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/ftp/it/FtpResource.java
@@ -21,8 +21,10 @@ import java.net.URI;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
@@ -37,6 +39,8 @@ import org.apache.camel.ProducerTemplate;
@ApplicationScoped
public class FtpResource {
+ private static final long TIMEOUT_MS = 1000;
+
@Inject
ProducerTemplate producerTemplate;
@@ -46,9 +50,10 @@ public class FtpResource {
@Path("/get/{fileName}")
@GET
@Produces(MediaType.TEXT_PLAIN)
- public String getFile(@PathParam("fileName") String fileName) throws Exception {
- return consumerTemplate.receiveBodyNoWait(
+ public String getFile(@PathParam("fileName") String fileName) {
+ return consumerTemplate.receiveBody(
"ftp://admin@localhost:{{camel.ftp.test-port}}/ftp?password=admin&fileName=" + fileName,
+ TIMEOUT_MS,
String.class);
}
@@ -63,4 +68,23 @@ public class FtpResource {
.created(new URI("https://camel.apache.org/"))
.build();
}
+
+ @Path("/delete/{fileName}")
+ @DELETE
+ public void deleteFile(@PathParam("fileName") String fileName) {
+ consumerTemplate.receiveBody(
+ "ftp://admin@localhost:{{camel.ftp.test-port}}/ftp?password=admin&delete=true&fileName=" + fileName,
+ TIMEOUT_MS,
+ String.class);
+ }
+
+ @Path("/moveToDoneFile/{fileName}")
+ @PUT
+ public void moveToDoneFile(@PathParam("fileName") String fileName) {
+ consumerTemplate.receiveBody(
+ "ftp://admin@localhost:{{camel.ftp.test-port}}/ftp?password=admin&move=${headers.CamelFileName}.done&fileName="
+ + fileName,
+ TIMEOUT_MS,
+ String.class);
+ }
}
diff --git a/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/ftps/it/FtpsResource.java b/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/ftps/it/FtpsResource.java
index 47a19ba..52dd4dd 100644
--- a/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/ftps/it/FtpsResource.java
+++ b/integration-tests/ftp/src/main/java/org/apache/camel/quarkus/component/ftps/it/FtpsResource.java
@@ -21,8 +21,10 @@ import java.net.URI;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
@@ -37,6 +39,8 @@ import org.apache.camel.ProducerTemplate;
@ApplicationScoped
public class FtpsResource {
+ private static final long TIMEOUT_MS = 1000;
+
@Inject
ProducerTemplate producerTemplate;
@@ -46,9 +50,10 @@ public class FtpsResource {
@Path("/get/{fileName}")
@GET
@Produces(MediaType.TEXT_PLAIN)
- public String getFile(@PathParam("fileName") String fileName) throws Exception {
- return consumerTemplate.receiveBodyNoWait(
- "ftps://admin@localhost:{{camel.ftps.test-port}}/ftp?password=admin&fileName=" + fileName,
+ public String getFile(@PathParam("fileName") String fileName) {
+ return consumerTemplate.receiveBody(
+ "ftps://admin@localhost:{{camel.ftps.test-port}}/ftps?password=admin&fileName=" + fileName,
+ TIMEOUT_MS,
String.class);
}
@@ -57,10 +62,29 @@ public class FtpsResource {
@Consumes(MediaType.TEXT_PLAIN)
public Response createFile(@PathParam("fileName") String fileName, String fileContent)
throws Exception {
- producerTemplate.sendBodyAndHeader("ftps://admin@localhost:{{camel.ftps.test-port}}/ftp?password=admin", fileContent,
+ producerTemplate.sendBodyAndHeader("ftps://admin@localhost:{{camel.ftps.test-port}}/ftps?password=admin", fileContent,
Exchange.FILE_NAME, fileName);
return Response
.created(new URI("https://camel.apache.org/"))
.build();
}
+
+ @Path("/delete/{fileName}")
+ @DELETE
+ public void deleteFile(@PathParam("fileName") String fileName) {
+ consumerTemplate.receiveBody(
+ "ftps://admin@localhost:{{camel.ftps.test-port}}/ftps?password=admin&delete=true&fileName=" + fileName,
+ TIMEOUT_MS,
+ String.class);
+ }
+
+ @Path("/moveToDoneFile/{fileName}")
+ @PUT
+ public void moveToDoneFile(@PathParam("fileName") String fileName) {
+ consumerTemplate.receiveBody(
+ "ftps://admin@localhost:{{camel.ftps.test-port}}/ftps?password=admin&move=${headers.CamelFileName}.done&fileName="
+ + fileName,
+ TIMEOUT_MS,
+ String.class);
+ }
}
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 fe0dfb2..e9dedea 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
@@ -21,8 +21,10 @@ import java.net.URI;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
@@ -37,6 +39,8 @@ import org.apache.camel.ProducerTemplate;
@ApplicationScoped
public class SftpResource {
+ private static final long TIMEOUT_MS = 1000;
+
@Inject
ProducerTemplate producerTemplate;
@@ -46,10 +50,11 @@ public class SftpResource {
@Path("/get/{fileName}")
@GET
@Produces(MediaType.TEXT_PLAIN)
- public String getFile(@PathParam("fileName") String fileName) throws Exception {
- return consumerTemplate.receiveBodyNoWait(
+ public String getFile(@PathParam("fileName") String fileName) {
+ return consumerTemplate.receiveBody(
"sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&localWorkDirectory=target&fileName="
+ fileName,
+ TIMEOUT_MS,
String.class);
}
@@ -64,4 +69,23 @@ public class SftpResource {
.created(new URI("https://camel.apache.org/"))
.build();
}
+
+ @Path("/delete/{fileName}")
+ @DELETE
+ public void deleteFile(@PathParam("fileName") String fileName) {
+ consumerTemplate.receiveBody(
+ "sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&delete=true&fileName=" + fileName,
+ TIMEOUT_MS,
+ String.class);
+ }
+
+ @Path("/moveToDoneFile/{fileName}")
+ @PUT
+ public void moveToDoneFile(@PathParam("fileName") String fileName) {
+ consumerTemplate.receiveBody(
+ "sftp://admin@localhost:{{camel.sftp.test-port}}/sftp?password=admin&move=${headers.CamelFileName}.done&fileName="
+ + fileName,
+ TIMEOUT_MS,
+ String.class);
+ }
}
diff --git a/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/ftp/it/FtpTest.java b/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/ftp/it/FtpTest.java
index 6b20b91..88e4cd4 100644
--- a/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/ftp/it/FtpTest.java
+++ b/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/ftp/it/FtpTest.java
@@ -28,7 +28,7 @@ import static org.hamcrest.CoreMatchers.is;
@QuarkusTestResource(FtpTestResource.class)
class FtpTest {
@Test
- public void testFtpComponent() throws InterruptedException {
+ public void testFtpComponent() {
// Create a new file on the FTP server
RestAssured.given()
.contentType(ContentType.TEXT)
@@ -42,6 +42,32 @@ class FtpTest {
.then()
.statusCode(200)
.body(is("Hello Camel Quarkus FTP"));
+
+ // Rename the file to {file}.done
+ RestAssured.put("/ftp/moveToDoneFile/hello.txt")
+ .then()
+ .statusCode(204);
+
+ // Check that the file is no more present in its initial place
+ RestAssured.get("/ftp/get/hello.txt")
+ .then()
+ .statusCode(204);
+
+ // Check that the file has been renamed to {file}.done
+ RestAssured.get("/ftp/get/hello.txt.done")
+ .then()
+ .statusCode(200)
+ .body(is("Hello Camel Quarkus FTP"));
+
+ // Delete the {file}.done file
+ RestAssured.delete("/ftp/delete/hello.txt.done")
+ .then()
+ .statusCode(204);
+
+ // Check that {file}.done file has been deleted from the FTP server
+ RestAssured.get("/ftp/get/hello.txt.done")
+ .then()
+ .statusCode(204);
}
}
diff --git a/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/ftps/it/FtpsTest.java b/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/ftps/it/FtpsTest.java
index e8f92bc..288faa9 100644
--- a/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/ftps/it/FtpsTest.java
+++ b/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/ftps/it/FtpsTest.java
@@ -16,8 +16,6 @@
*/
package org.apache.camel.quarkus.component.ftps.it;
-import java.security.NoSuchAlgorithmException;
-
import io.quarkus.test.common.QuarkusTestResource;
import io.quarkus.test.junit.QuarkusTest;
import io.restassured.RestAssured;
@@ -30,7 +28,7 @@ import static org.hamcrest.CoreMatchers.is;
@QuarkusTestResource(FtpsTestResource.class)
class FtpsTest {
@Test
- public void testFtpsComponent() throws InterruptedException, NoSuchAlgorithmException {
+ public void testFtpsComponent() {
// Create a new file on the FTPS server
RestAssured.given()
.contentType(ContentType.TEXT)
@@ -44,6 +42,32 @@ class FtpsTest {
.then()
.statusCode(200)
.body(is("Hello Camel Quarkus FTPS"));
+
+ // Rename the file to {file}.done
+ RestAssured.put("/ftps/moveToDoneFile/hello.txt")
+ .then()
+ .statusCode(204);
+
+ // Check that the file is no more present in its initial place
+ RestAssured.get("/ftps/get/hello.txt")
+ .then()
+ .statusCode(204);
+
+ // Check that the file has been renamed to {file}.done
+ RestAssured.get("/ftps/get/hello.txt.done")
+ .then()
+ .statusCode(200)
+ .body(is("Hello Camel Quarkus FTPS"));
+
+ // Delete the {file}.done file
+ RestAssured.delete("/ftps/delete/hello.txt.done")
+ .then()
+ .statusCode(204);
+
+ // Check that {file}.done file has been deleted from the FTPS server
+ RestAssured.get("/ftps/get/hello.txt.done")
+ .then()
+ .statusCode(204);
}
}
diff --git a/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/sftp/it/SftpTest.java b/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/sftp/it/SftpTest.java
index 63366da..d3a4af9 100644
--- a/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/sftp/it/SftpTest.java
+++ b/integration-tests/ftp/src/test/java/org/apache/camel/quarkus/component/sftp/it/SftpTest.java
@@ -22,14 +22,14 @@ import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import org.junit.jupiter.api.Test;
-import static org.hamcrest.core.Is.is;
+import static org.hamcrest.CoreMatchers.is;
@QuarkusTest
@QuarkusTestResource(SftpTestResource.class)
class SftpTest {
@Test
- public void testSftpComponent() throws InterruptedException {
+ public void testSftpComponent() {
// Create a new file on the SFTP server
RestAssured.given()
.contentType(ContentType.TEXT)
@@ -43,6 +43,32 @@ class SftpTest {
.then()
.statusCode(200)
.body(is("Hello Camel Quarkus SFTP"));
+
+ // Rename the file to {file}.done
+ RestAssured.put("/sftp/moveToDoneFile/hello.txt")
+ .then()
+ .statusCode(204);
+
+ // Check that the file is no more present in its initial place
+ RestAssured.get("/sftp/get/hello.txt")
+ .then()
+ .statusCode(204);
+
+ // Check that the file has been renamed to {file}.done
+ RestAssured.get("/sftp/get/hello.txt.done")
+ .then()
+ .statusCode(200)
+ .body(is("Hello Camel Quarkus SFTP"));
+
+ // Delete the {file}.done file
+ RestAssured.delete("/sftp/delete/hello.txt.done")
+ .then()
+ .statusCode(204);
+
+ // Check that {file}.done file has been deleted from the SFTP server
+ RestAssured.get("/sftp/get/hello.txt.done")
+ .then()
+ .statusCode(204);
}
}