package com.limegroup.gnutella.lws.server;
import junit.framework.Test;
import junit.textui.TestRunner;
import org.limewire.lws.server.LWSConnectionListener;
import org.limewire.lws.server.LWSDispatcherSupport;
import org.limewire.lws.server.LWSServerUtil;
/**
* Make's sure {@link LWSConnectionListener}s are working.
*/
public class ConnectionListenerTest extends AbstractCommunicationSupportWithNoLocalServer {
public ConnectionListenerTest(String s) {
super(s);
}
public static Test suite() {
return buildTestSuite(ConnectionListenerTest.class);
}
public static void main(String[] args) {
TestRunner.run(suite());
}
public void testAuthenticate() {
final boolean[] connected = { false };
LWSConnectionListener lis = new LWSConnectionListener() {
public void connectionChanged(boolean isConnected) {
connected[0] = isConnected;
}
};
getLWSManager().addConnectionListener(lis);
String res = doAuthenticate();
String privateKey = getPrivateKey();
assertEquals("invalid log in '" + res + "'", LWSDispatcherSupport.Responses.OK, res);
assertTrue("invalid private key '" + res + "'", LWSServerUtil.isValidPrivateKey(privateKey));
assertTrue("not connected", connected[0]);
// Make sure we can remove it
getLWSManager().removeConnectionListener(lis);
doDetatch();
assertTrue("not connected", connected[0]);
}
}