Fix broken test, where assert was invoked in a separate thread, and checking the temporary getUserArgument() rather than the correct getUser() (FTPSERVER-418)
git-svn-id: https://svn.apache.org/repos/asf/mina/ftpserver/trunk@1138603 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDefaultTest.java b/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDefaultTest.java
index cca0c89..16591cf 100644
--- a/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDefaultTest.java
+++ b/core/src/test/java/org/apache/ftpserver/ftpletcontainer/FtpLetReturnDefaultTest.java
@@ -25,6 +25,8 @@
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.ftpserver.FtpServerFactory;
@@ -34,6 +36,7 @@
import org.apache.ftpserver.ftplet.FtpSession;
import org.apache.ftpserver.ftplet.Ftplet;
import org.apache.ftpserver.ftplet.FtpletResult;
+import org.apache.ftpserver.ftplet.User;
import org.apache.ftpserver.test.TestUtil;
/**
@@ -83,12 +86,13 @@
}
public void testLogin() throws Exception {
+ final LinkedBlockingQueue<User> loggedInUser = new LinkedBlockingQueue<User>();
+
MockFtplet.callback = new MockFtpletCallback() {
- @Override
public FtpletResult onLogin(FtpSession session, FtpRequest request)
throws FtpException, IOException {
- assertNotNull(session.getUserArgument());
-
+ loggedInUser.add(session.getUser());
+
return super.onLogin(session, request);
}
@@ -96,6 +100,8 @@
MockFtpletCallback.returnValue = FtpletResult.DEFAULT;
assertTrue(client.login(ADMIN_USERNAME, ADMIN_PASSWORD));
+
+ assertNotNull(loggedInUser.poll(2000, TimeUnit.MILLISECONDS));
}
public void testDelete() throws Exception {