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