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

Reply via email to