From e2e01db9a244d52a0396f74458987900ac1be322 Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Thu, 18 Feb 2021 11:31:08 -0500 Subject: [PATCH] Add SFTP remote copy test-case --- .../outbound/SftpServerOutboundTests.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/outbound/SftpServerOutboundTests.java b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/outbound/SftpServerOutboundTests.java index 6609568806..ceccd021f1 100644 --- a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/outbound/SftpServerOutboundTests.java +++ b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/outbound/SftpServerOutboundTests.java @@ -390,6 +390,30 @@ public class SftpServerOutboundTests extends SftpTestSupport { session.close(); } + @Test + public void testSftpCopy() throws Exception { + this.template.execute(session -> { + PipedInputStream in = new PipedInputStream(); + PipedOutputStream out = new PipedOutputStream(in); + session.read("sftpSource/sftpSource2.txt", out); + session.write(in, "sftpTarget/sftpTarget2.txt"); + return null; + }); + + Session session = this.sessionFactory.getSession(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + FileCopyUtils.copy(session.readRaw("sftpTarget/sftpTarget2.txt"), baos); + assertThat(session.finalizeRaw()).isTrue(); + assertThat(new String(baos.toByteArray())).isEqualTo("source2"); + + baos = new ByteArrayOutputStream(); + FileCopyUtils.copy(session.readRaw("sftpSource/sftpSource2.txt"), baos); + assertThat(session.finalizeRaw()).isTrue(); + assertThat(new String(baos.toByteArray())).isEqualTo("source2"); + + session.close(); + } + @Test public void testInt3047ConcurrentSharedSession() throws Exception { final Session session1 = this.sessionFactory.getSession();