This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
commit 63be465de1dd3c7b7e6ecef55e5167833435a7a3 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Tue Nov 22 16:05:40 2022 +0100 Added it-test for SFTP Source Signed-off-by: Andrea Cosentino <anco...@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);