You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2022/11/22 15:07:19 UTC
[camel-kamelets] 03/03: Added it-test for SFTP Source
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch 1167
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
commit e3df1f51a36917603d7dcb852e19cdd763b752de
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Nov 22 16:05:40 2022 +0100
Added it-test for SFTP Source
Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
it-tests/Makefile | 2 +
it-tests/misc/sftp/source/sftp-log-it-test.sh | 45 ++++++++++++++++++++++
it-tests/misc/sftp/source/sftp-log.yaml | 32 +++++++++++++++
.../maven/plugin/ValidateKameletsMojo.java | 2 +-
4 files changed, 80 insertions(+), 1 deletion(-)
diff --git a/it-tests/Makefile b/it-tests/Makefile
index e206aba8..390c29a3 100644
--- a/it-tests/Makefile
+++ b/it-tests/Makefile
@@ -33,6 +33,8 @@ tests:
./timer-aws-sns-it-test.sh $(camel-version)
cd aws/aws-kinesis-firehose/sink/ && \
./timer-aws-kinesis-firehose-it-test.sh $(camel-version)
+ cd misc/sftp/source/ && \
+ ./sftp-log-it-test.sh $(camel-version)
./scripts/results.sh
rm -rf tests
diff --git a/it-tests/misc/sftp/source/sftp-log-it-test.sh b/it-tests/misc/sftp/source/sftp-log-it-test.sh
new file mode 100755
index 00000000..46560a83
--- /dev/null
+++ b/it-tests/misc/sftp/source/sftp-log-it-test.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+if [ $# -ne 1 ]; then
+ echo $0: usage: sftp-log-it-test.sh camel-version
+ exit 1
+fi
+
+camel_version=$1
+
+docker pull emberstack/sftp
+docker run -p 24:22 --name sftp -d emberstack/sftp
+sftpid=`docker ps -aqf "name=sftp"`
+
+echo $sftpid
+
+jbang run -Dcamel.jbang.version=$camel_version camel@apache/camel run --local-kamelet-dir=../../../../kamelets/ sftp-log.yaml &
+
+sleep 10
+
+docker exec -it $sftpid bash -c "echo 'Ciao' >> /home/demo/sftp/demos/file1.txt"
+docker exec -it $sftpid bash -c "echo 'Ciao' >> /home/demo/sftp/demos/file2.txt"
+docker exec -it $sftpid bash -c "echo 'Ciao' >> /home/demo/sftp/demos/file3.txt"
+docker exec -it $sftpid bash -c "echo 'Ciao' >> /home/demo/sftp/demos/file4.txt"
+docker exec -it $sftpid bash -c "echo 'Ciao' >> /home/demo/sftp/demos/file5.txt"
+
+sleep 10
+
+variable=`jbang run -Dcamel.jbang.version=$camel_version camel@apache/camel get | tail -n +2`
+success=`echo $variable | cut -d' ' -f11`
+fail=`echo $variable | cut -d' ' -f12`
+if [[ $success == 5 && $fail == 0 ]]
+then
+ mkdir -p ../../../tests/
+ echo "Test Successful" > ../../../tests/sftp-log-it-test.result;
+else
+ mkdir -p ../../../tests/
+ echo "Test failed" > ../../../tests/sftp-log-it-test.result;
+fi
+
+jbang run -Dcamel.jbang.version=$camel_version camel@apache/camel stop sftp-log
+
+docker stop sftp
+docker rm sftp
+
+cat ../../../tests/sftp-log-it-test.result
diff --git a/it-tests/misc/sftp/source/sftp-log.yaml b/it-tests/misc/sftp/source/sftp-log.yaml
new file mode 100644
index 00000000..41603770
--- /dev/null
+++ b/it-tests/misc/sftp/source/sftp-log.yaml
@@ -0,0 +1,32 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements. See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+- route:
+ from:
+ uri: "kamelet:sftp-source"
+ parameters:
+ username: demo
+ password: demo
+ connectionHost: localhost
+ connectionPort: 24
+ directoryName: demos/
+ recursive: true
+ steps:
+ - to:
+ uri: "kamelet:log-sink"
+ parameters:
+ showStreams: false
diff --git a/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java b/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java
index 13db66e8..77268e4a 100644
--- a/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java
+++ b/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java
@@ -101,7 +101,7 @@ public class ValidateKameletsMojo extends AbstractMojo {
.map(ComponentModel.EndpointOptionModel::getName)
.collect(Collectors.toList());
for (Map.Entry<String, Object> entry : p.entrySet()) {
- if (!entry.getKey().equals("period") && (!name.equals("kafka-ssl-source") && !name.equals("timer-source") && !name.equals("cron-source") && !name.equals("fhir-source") && !name.equals("beer-source"))) {
+ if (!entry.getKey().equals("period") && (!name.equals("sftp-source") && !name.equals("kafka-ssl-source") && !name.equals("timer-source") && !name.equals("cron-source") && !name.equals("fhir-source") && !name.equals("beer-source"))) {
if (!ceInternal.contains(entry.getKey())) {
getLog().error("Kamelet Name: " + name);
getLog().error("Scheme Name: " + cleanName);