[
https://issues.apache.org/jira/browse/CAMEL-10713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15827530#comment-15827530
]
ASF GitHub Bot commented on CAMEL-10713:
----------------------------------------
GitHub user patrickmcgloin opened a pull request:
https://github.com/apache/camel/pull/1405
CAMEL-10713 SCP not handling errors for failed transfers correctly
This fix works for all existing Unit Tests and I can see the error in the
logs when I use the new jar file to do an SCP transfer:
Throwable exception.getCause [java.io.IOException: [scp] Return Code [1]
scp: /scpDemo/: Is a directory].
I tried to add a new Unit Test for this case but was unable to do so, the
test past when it should have failed. This is what I tried:
@Test
public void testScpProduceWithFolderCausesError() throws Exception {
Assume.assumeTrue(this.isSetupComplete());
getMockEndpoint("mock:result").expectedBodiesReceived("Hello
World");
String uri = getScpUri() +
"?username=admin&password=admin&knownHostsFile=" + getKnownHostsFile();
Map<String, Object> headers = new HashMap<String, Object>();
headers.put(Exchange.FILE_PATH, "folder/");
headers.put(Exchange.FILE_NAME, “folder2/hello.txt");
template.sendBodyAndHeaders(uri, "Hello World", headers);
assertMockEndpointsSatisfied();
}
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/patrickmcgloin/camel scp-error-handling
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/camel/pull/1405.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1405
----
commit 87f5913aa0cb9fc51d264762177db3214df802cb
Author: Patrick McGloin <[email protected]>
Date: 2017-01-17T21:24:48Z
CAMEL-10713 SCP not handling errors for failed transfers correctly
commit b3b4ed1bf0bcae5c5c2d89ed64f4d9b3464a381e
Author: Patrick McGloin <[email protected]>
Date: 2017-01-18T07:12:14Z
Indentation fix
commit d36d0deb5dcf6f479b041a77eca1f5e76d53851f
Author: Patrick McGloin <[email protected]>
Date: 2017-01-18T07:14:32Z
Newline at end of file
----
> SCP not handling errors for failed transfers correctly
> ------------------------------------------------------
>
> Key: CAMEL-10713
> URL: https://issues.apache.org/jira/browse/CAMEL-10713
> Project: Camel
> Issue Type: Bug
> Components: camel-jsch
> Reporter: Patrick McGloin
> Fix For: 2.17.5, 2.18.3, 2.19.0
>
>
> If I try to transfer a file to a directory that does not exist using Camel
> SCP I see a warning like this in the log:
> [scp] WARN scp: /home/user/scp/1234: No such file or directory
> It looks like the code says that Camel will just log a warning when such an
> error occurs. There is no exception in the code, so it looks like the file
> was transferred when it was not.
> https://github.com/apache/camel/blob/52a739feb9da8acd29067304c7c8356bbc5ef4dd/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpOperations.java#L347
> The error codes for SCP are:
> 1 General error in file copy
> 2 Destination is not directory, but it should be
> http://support.attachmate.com/techdocs/2116.html
> The fix should have the SCP Endpoint raise an error if the return code is not
> 0.
> See the following discussion.
> http://camel.465427.n5.nabble.com/Camel-SCP-Warnings-td5792552.html
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)