[Asterisk-java-cvs] CVS: asterisk-java/src/test/net/sf/asterisk/fastagi DefaultAGIServerTest.java,1.
Brought to you by:
srt
From: Stefan R. <sr...@us...> - 2005-03-10 23:14:54
|
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++; + } + } } |