From 59a4696d81105cda957ff0ee51cedde83faac4a8 Mon Sep 17 00:00:00 2001 From: Iwein Fuld Date: Wed, 30 Jul 2008 15:09:45 +0000 Subject: [PATCH] polishing testcase --- .../adapter/ftp/FtpSourceTests.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/org.springframework.integration.adapter/src/test/java/org/springframework/integration/adapter/ftp/FtpSourceTests.java b/org.springframework.integration.adapter/src/test/java/org/springframework/integration/adapter/ftp/FtpSourceTests.java index 81d6cf3f79..3bdebf5eb5 100644 --- a/org.springframework.integration.adapter/src/test/java/org/springframework/integration/adapter/ftp/FtpSourceTests.java +++ b/org.springframework.integration.adapter/src/test/java/org/springframework/integration/adapter/ftp/FtpSourceTests.java @@ -12,6 +12,7 @@ import java.util.List; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; +import org.easymock.IAnswer; import org.junit.Before; import org.junit.Test; import org.springframework.integration.message.GenericMessage; @@ -150,4 +151,39 @@ public class FtpSourceTests { assertEquals(files, receivedFiles.getPayload()); } + @Test + public void retrieveMaxFilesPerPayload() throws Exception { + + this.ftpSource.setMaxMessagesPerPayload(2); + // assume client already connected + expect(ftpClient.isConnected()).andReturn(true).anyTimes(); + // first run + FTPFile[] mockedFTPFiles = mockedFTPFilesNamed("test", "test2", "test3"); + expect(ftpClient.listFiles()).andReturn(mockedFTPFiles); + expect(ftpClient.retrieveFile(eq("test"), isA(OutputStream.class))).andReturn(true); + expect(ftpClient.retrieveFile(eq("test2"), isA(OutputStream.class))).andReturn(true); + + ftpClient.disconnect(); + // second run + expect(ftpClient.listFiles()).andReturn(mockedFTPFiles); + expect(ftpClient.retrieveFile(eq("test3"), isA(OutputStream.class))).andReturn(true); + // create message + expect(messageCreator.createMessage(isA(List.class))).andAnswer(new IAnswer>>() { + public Message> answer() throws Throwable { + return new GenericMessage(getCurrentArguments()[0]); + } + }).times(2); + + ftpClient.disconnect(); + + replay(globalMocks); + Message> receivedFiles1 = ftpSource.receive(); + ftpSource.onSend(receivedFiles1); + Message> receivedFiles2 = ftpSource.receive(); + ftpSource.onSend(receivedFiles2); + verify(globalMocks); + assertEquals(2, receivedFiles1.getPayload().size()); + assertEquals(1, receivedFiles2.getPayload().size()); + } + }