summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrismair <chrismair@531de8e6-9941-0410-b38b-9a92acbe0330>2011-03-21 00:12:42 +0000
committerchrismair <chrismair@531de8e6-9941-0410-b38b-9a92acbe0330>2011-03-21 00:12:42 +0000
commit6ca86794ae02c4a066c16de5f16c6675c999f781 (patch)
treea1b7e5caa7b3c150c29a92e1d158ee947b7a3e1d
parentb5c534dd0ab41438502ee18fa6f88c3f8dbbe314 (diff)
downloadmockftpserver-6ca86794ae02c4a066c16de5f16c6675c999f781.tar.gz
Test close processing
git-svn-id: svn://svn.code.sf.net/p/mockftpserver/code@253 531de8e6-9941-0410-b38b-9a92acbe0330
-rw-r--r--MockFtpServer/CHANGELOG.txt5
-rw-r--r--MockFtpServer/pom.xml2
-rw-r--r--MockFtpServer/src/test/java/org/mockftpserver/core/session/DefaultSession_RunTest.java26
3 files changed, 27 insertions, 6 deletions
diff --git a/MockFtpServer/CHANGELOG.txt b/MockFtpServer/CHANGELOG.txt
index ee29717..3f8fe77 100644
--- a/MockFtpServer/CHANGELOG.txt
+++ b/MockFtpServer/CHANGELOG.txt
@@ -1,6 +1,11 @@
MockFtpServer Change Log
-------------------------------------------------------------------------------
+Changes in version 2.3 (?? Mar 2011)
+------------------------------------------
+- BUG #3103132: shutting down takes too long.
+
+
Changes in version 2.2 (23 Mar 2010)
------------------------------------------
- FakeFtpServer: Support renaming of directories.
diff --git a/MockFtpServer/pom.xml b/MockFtpServer/pom.xml
index a7d7006..c5d17e5 100644
--- a/MockFtpServer/pom.xml
+++ b/MockFtpServer/pom.xml
@@ -15,7 +15,7 @@
either success or failure scenarios. You can also verify expected command invocations.
</description>
<packaging>jar</packaging>
- <version>2.2</version>
+ <version>2.3-SNAPSHOT</version>
<url>http://mockftpserver.sourceforge.net/</url>
<scm>
diff --git a/MockFtpServer/src/test/java/org/mockftpserver/core/session/DefaultSession_RunTest.java b/MockFtpServer/src/test/java/org/mockftpserver/core/session/DefaultSession_RunTest.java
index e0853e1..ab506bf 100644
--- a/MockFtpServer/src/test/java/org/mockftpserver/core/session/DefaultSession_RunTest.java
+++ b/MockFtpServer/src/test/java/org/mockftpserver/core/session/DefaultSession_RunTest.java
@@ -25,9 +25,7 @@ import org.mockftpserver.core.socket.StubSocket;
import org.mockftpserver.stub.command.AbstractStubCommandHandler;
import org.mockftpserver.test.AbstractTestCase;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
+import java.io.*;
import java.util.HashMap;
import java.util.ListResourceBundle;
import java.util.Map;
@@ -83,6 +81,22 @@ public final class DefaultSession_RunTest extends AbstractTestCase {
assertFalse("socket should not be closed", stubSocket.isClosed());
}
+ public void testClose_WithoutCommand() throws Exception {
+ PipedOutputStream pipedOutputStream = new PipedOutputStream();
+ PipedInputStream inputStream = new PipedInputStream(pipedOutputStream);
+ stubSocket = new StubSocket(DEFAULT_HOST, inputStream, outputStream);
+ session = new DefaultSession(stubSocket, commandHandlerMap);
+
+ initializeConnectCommandHandler();
+
+ Thread thread = new Thread(session);
+ thread.start();
+ Thread.sleep(1000L);
+
+ session.close();
+ thread.join();
+ }
+
public void testGetClientHost() throws Exception {
CommandHandler commandHandler = new AbstractStubCommandHandler() {
public void handleCommand(Command command, Session session, InvocationRecord invocationRecord) {
@@ -165,7 +179,11 @@ public final class DefaultSession_RunTest extends AbstractTestCase {
private DefaultSession createDefaultSession(CommandHandler commandHandler) {
stubSocket = createTestSocket(COMMAND.getName());
commandHandlerMap.put(commandToRegister, commandHandler);
+ initializeConnectCommandHandler();
+ return new DefaultSession(stubSocket, commandHandlerMap);
+ }
+ private void initializeConnectCommandHandler() {
ConnectCommandHandler connectCommandHandler = new ConnectCommandHandler();
ResourceBundle replyTextBundle = new ListResourceBundle() {
@@ -177,8 +195,6 @@ public final class DefaultSession_RunTest extends AbstractTestCase {
};
connectCommandHandler.setReplyTextBundle(replyTextBundle);
commandHandlerMap.put(CommandNames.CONNECT, connectCommandHandler);
-
- return new DefaultSession(stubSocket, commandHandlerMap);
}
/**