Update of /cvsroot/asterisk-java/asterisk-java/src/test/net/sf/asterisk/fastagi
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4631/src/test/net/sf/asterisk/fastagi
Modified Files:
DefaultAGIServerTest.java
Log Message:
Fixed timing issues
Index: DefaultAGIServerTest.java
===================================================================
RCS file: /cvsroot/asterisk-java/asterisk-java/src/test/net/sf/asterisk/fastagi/DefaultAGIServerTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -p -r1.2 -r1.3
--- DefaultAGIServerTest.java 10 Mar 2005 16:36:43 -0000 1.2
+++ DefaultAGIServerTest.java 10 Mar 2005 23:14:43 -0000 1.3
@@ -27,15 +27,15 @@ import junit.framework.TestCase;
public class DefaultAGIServerTest extends TestCase
{
private DefaultAGIServer server;
- private MockControl serverSocketMC;
- private ServerSocketFacade serverSocket;
+ private MockedServerSocketFacade serverSocket;
+ private MockControl socketMC;
+ private SocketConnectionFacade socket;
protected void setUp() throws Exception
{
super.setUp();
- serverSocketMC = MockControl.createControl(ServerSocketFacade.class);
- serverSocket = (ServerSocketFacade) serverSocketMC.getMock();
+ serverSocket = new MockedServerSocketFacade();
server = new MockedDefaultAGIServer();
}
@@ -47,9 +47,6 @@ public class DefaultAGIServerTest extend
public void testStartup() throws Exception
{
- MockControl socketMC;
- SocketConnectionFacade socket;
-
socketMC = MockControl.createControl(SocketConnectionFacade.class);
socket = (SocketConnectionFacade) socketMC.getMock();
@@ -58,17 +55,15 @@ public class DefaultAGIServerTest extend
socket.close();
socketMC.replay();
- serverSocket.accept();
- serverSocketMC.setReturnValue(socket);
- serverSocket.accept();
- serverSocketMC.setThrowable(new IOException("Unexpected IOException"));
- serverSocket.close();
-
- serverSocketMC.replay();
-
server.startup();
+
+ Thread.sleep(500);
+
+ assertEquals("serverSocket.accept() not called 2 times", 2,
+ serverSocket.acceptCalls);
+ assertEquals("serverSocket.close() not called", 1,
+ serverSocket.closeCalls);
- serverSocketMC.verify();
socketMC.verify();
}
@@ -79,4 +74,36 @@ public class DefaultAGIServerTest extend
return serverSocket;
}
}
+
+ class MockedServerSocketFacade implements ServerSocketFacade
+ {
+ public int acceptCalls = 0;
+ public int closeCalls = 0;
+
+ public SocketConnectionFacade accept() throws IOException
+ {
+ acceptCalls++;
+ try
+ {
+ Thread.sleep(100);
+ }
+ catch (InterruptedException e)
+ {
+ }
+
+ if (acceptCalls == 1)
+ {
+ return socket;
+ }
+ else
+ {
+ throw new IOException("Provoked IOException");
+ }
+ }
+
+ public void close() throws IOException
+ {
+ closeCalls++;
+ }
+ }
}
|