[Asterisk-java-cvs] CVS: asterisk-java/src/test/net/sf/asterisk/manager/impl ManagerReaderImplTest.j
Brought to you by:
srt
From: Stefan R. <sr...@us...> - 2005-03-13 11:27:36
|
Update of /cvsroot/asterisk-java/asterisk-java/src/test/net/sf/asterisk/manager/impl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20829/src/test/net/sf/asterisk/manager/impl Modified Files: ManagerReaderImplTest.java Log Message: Removed dependcy on commons-lang Index: ManagerReaderImplTest.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/test/net/sf/asterisk/manager/impl/ManagerReaderImplTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -p -r1.2 -r1.3 --- ManagerReaderImplTest.java 11 Mar 2005 15:31:47 -0000 1.2 +++ ManagerReaderImplTest.java 13 Mar 2005 11:26:51 -0000 1.3 @@ -29,6 +29,7 @@ import net.sf.asterisk.manager.ManagerRe import net.sf.asterisk.manager.MyUserEvent; import net.sf.asterisk.manager.event.ConnectEvent; import net.sf.asterisk.manager.event.DisconnectEvent; +import net.sf.asterisk.manager.event.ManagerEvent; import net.sf.asterisk.manager.event.StatusCompleteEvent; import net.sf.asterisk.manager.response.CommandResponse; import net.sf.asterisk.manager.response.ManagerResponse; @@ -39,8 +40,7 @@ import org.easymock.MockControl; public class ManagerReaderImplTest extends TestCase { private Date now; - private MockControl dispatcherMC; - private Dispatcher dispatcher; + private MockedDispatcher dispatcher; private MockControl socketConnectionFacadeMC; private SocketConnectionFacade socketConnectionFacade; private AsteriskServer asteriskServer; @@ -51,12 +51,13 @@ public class ManagerReaderImplTest exten now = new Date(); DateUtil.overrideCurrentDate(now); asteriskServer = new AsteriskServer(); - dispatcherMC = MockControl.createControl(Dispatcher.class); - dispatcher = (Dispatcher) dispatcherMC.getMock(); + dispatcher = new MockedDispatcher(); managerReader = new ManagerReaderImpl(dispatcher, asteriskServer); - socketConnectionFacadeMC = MockControl.createControl(SocketConnectionFacade.class); - socketConnectionFacade = (SocketConnectionFacade) socketConnectionFacadeMC.getMock(); + socketConnectionFacadeMC = MockControl + .createControl(SocketConnectionFacade.class); + socketConnectionFacade = (SocketConnectionFacade) socketConnectionFacadeMC + .getMock(); } protected void tearDown() @@ -73,7 +74,8 @@ public class ManagerReaderImplTest exten } catch (IllegalStateException e) { - assertTrue("Exception must be of type IllegalStateException", e instanceof IllegalStateException); + assertTrue("Exception must be of type IllegalStateException", + e instanceof IllegalStateException); } } @@ -87,23 +89,35 @@ public class ManagerReaderImplTest exten socketConnectionFacade.readLine(); socketConnectionFacadeMC.setReturnValue(null); - connectEvent = new ConnectEvent(asteriskServer); - connectEvent.setProtocolIdentifier("Asterisk Call Manager/1.0"); - connectEvent.setDateReceived(now); - dispatcher.dispatchEvent(connectEvent); - - disconnectEvent = new DisconnectEvent(asteriskServer); - disconnectEvent.setDateReceived(now); - dispatcher.dispatchEvent(disconnectEvent); - socketConnectionFacadeMC.replay(); - dispatcherMC.replay(); managerReader.setSocket(socketConnectionFacade); managerReader.run(); socketConnectionFacadeMC.verify(); - dispatcherMC.verify(); + + assertEquals("not exactly two events dispatched", 2, + dispatcher.dispatchedEvents.size()); + + assertEquals("first event must be a ConnectEvent", ConnectEvent.class, + dispatcher.dispatchedEvents.get(0).getClass()); + + assertEquals("ConnectEvent contains incorrect protocol identifier", + "Asterisk Call Manager/1.0", + ((ConnectEvent) dispatcher.dispatchedEvents.get(0)) + .getProtocolIdentifier()); + + assertEquals("ConnectEvent contains incorrect dateReceived", now, + ((ConnectEvent) dispatcher.dispatchedEvents.get(0)) + .getDateReceived()); + + assertEquals("second event must be a DisconnectEvent", + DisconnectEvent.class, dispatcher.dispatchedEvents.get(1) + .getClass()); + + assertEquals("DisconnectEvent contains incorrect dateReceived", now, + ((DisconnectEvent) dispatcher.dispatchedEvents.get(1)) + .getDateReceived()); } public void testRunReceivingEvent() throws Exception @@ -118,22 +132,23 @@ public class ManagerReaderImplTest exten socketConnectionFacade.readLine(); socketConnectionFacadeMC.setReturnValue(null); - statusCompleteEvent = new StatusCompleteEvent(asteriskServer); - statusCompleteEvent.setDateReceived(now); - dispatcher.dispatchEvent(statusCompleteEvent); - - disconnectEvent = new DisconnectEvent(asteriskServer); - disconnectEvent.setDateReceived(now); - dispatcher.dispatchEvent(disconnectEvent); - socketConnectionFacadeMC.replay(); - dispatcherMC.replay(); managerReader.setSocket(socketConnectionFacade); managerReader.run(); socketConnectionFacadeMC.verify(); - dispatcherMC.verify(); + + assertEquals("not exactly two events dispatched", 2, + dispatcher.dispatchedEvents.size()); + + assertEquals("first event must be a StatusCompleteEvent", + StatusCompleteEvent.class, dispatcher.dispatchedEvents.get(0) + .getClass()); + + assertEquals("second event must be a DisconnectEvent", + DisconnectEvent.class, dispatcher.dispatchedEvents.get(1) + .getClass()); } public void testRunReceivingUserEvent() throws Exception @@ -150,22 +165,22 @@ public class ManagerReaderImplTest exten socketConnectionFacade.readLine(); socketConnectionFacadeMC.setReturnValue(null); - myUserEvent = new MyUserEvent(asteriskServer); - myUserEvent.setDateReceived(now); - dispatcher.dispatchEvent(myUserEvent); - - disconnectEvent = new DisconnectEvent(asteriskServer); - disconnectEvent.setDateReceived(now); - dispatcher.dispatchEvent(disconnectEvent); - socketConnectionFacadeMC.replay(); - dispatcherMC.replay(); managerReader.setSocket(socketConnectionFacade); managerReader.run(); socketConnectionFacadeMC.verify(); - dispatcherMC.verify(); + + assertEquals("not exactly two events dispatched", 2, + dispatcher.dispatchedEvents.size()); + + assertEquals("first event must be a MyUserEvent", MyUserEvent.class, + dispatcher.dispatchedEvents.get(0).getClass()); + + assertEquals("second event must be a DisconnectEvent", + DisconnectEvent.class, dispatcher.dispatchedEvents.get(1) + .getClass()); } public void testRunReceivingResponse() throws Exception @@ -176,30 +191,46 @@ public class ManagerReaderImplTest exten socketConnectionFacade.readLine(); socketConnectionFacadeMC.setReturnValue("Response: Success"); socketConnectionFacade.readLine(); - socketConnectionFacadeMC.setReturnValue("Message: Authentication accepted"); + socketConnectionFacadeMC + .setReturnValue("Message: Authentication accepted"); socketConnectionFacade.readLine(); socketConnectionFacadeMC.setReturnValue(""); socketConnectionFacade.readLine(); socketConnectionFacadeMC.setReturnValue(null); - response = new ManagerResponse(); - response.setResponse("Success"); - response.setMessage("Authentication accepted"); - response.setDateReceived(now); - dispatcher.dispatchResponse(response); - - disconnectEvent = new DisconnectEvent(asteriskServer); - disconnectEvent.setDateReceived(now); - dispatcher.dispatchEvent(disconnectEvent); - socketConnectionFacadeMC.replay(); - dispatcherMC.replay(); managerReader.setSocket(socketConnectionFacade); managerReader.run(); socketConnectionFacadeMC.verify(); - dispatcherMC.verify(); + + assertEquals("not exactly one response dispatched", 1, + dispatcher.dispatchedResponses.size()); + + assertEquals("first response must be a ManagerResponse", + ManagerResponse.class, dispatcher.dispatchedResponses.get(0) + .getClass()); + + assertEquals("ManagerResponse contains incorrect response", "Success", + ((ManagerResponse) dispatcher.dispatchedResponses.get(0)) + .getResponse()); + + assertEquals("ManagerResponse contains incorrect message", + "Authentication accepted", + ((ManagerResponse) dispatcher.dispatchedResponses.get(0)) + .getMessage()); + + assertEquals("ManagerResponse contains incorrect dateReceived", now, + ((ManagerResponse) dispatcher.dispatchedResponses.get(0)) + .getDateReceived()); + + assertEquals("not exactly one events dispatched", 1, + dispatcher.dispatchedEvents.size()); + + assertEquals("first event must be a DisconnectEvent", + DisconnectEvent.class, dispatcher.dispatchedEvents.get(0) + .getClass()); } public void testRunReceivingCommandResponse() throws Exception @@ -223,27 +254,38 @@ public class ManagerReaderImplTest exten socketConnectionFacade.readLine(); socketConnectionFacadeMC.setReturnValue(null); - response = new CommandResponse(); - response.setResponse("Follows"); - response.setActionId("12345"); result.add("Line1"); result.add("Line2"); - response.setResult(result); - response.setDateReceived(now); - dispatcher.dispatchResponse(response); - - disconnectEvent = new DisconnectEvent(asteriskServer); - disconnectEvent.setDateReceived(now); - dispatcher.dispatchEvent(disconnectEvent); socketConnectionFacadeMC.replay(); - dispatcherMC.replay(); managerReader.setSocket(socketConnectionFacade); managerReader.run(); socketConnectionFacadeMC.verify(); - dispatcherMC.verify(); + + assertEquals("not exactly one response dispatched", 1, + dispatcher.dispatchedResponses.size()); + + assertEquals("first response must be a CommandResponse", + CommandResponse.class, dispatcher.dispatchedResponses.get(0) + .getClass()); + + assertEquals("CommandResponse contains incorrect response", "Follows", + ((CommandResponse) dispatcher.dispatchedResponses.get(0)) + .getResponse()); + + assertEquals("CommandResponse contains incorrect actionId", "12345", + ((CommandResponse) dispatcher.dispatchedResponses.get(0)) + .getActionId()); + + assertEquals("CommandResponse contains incorrect result", result, + ((CommandResponse) dispatcher.dispatchedResponses.get(0)) + .getResult()); + + assertEquals("CommandResponse contains incorrect dateReceived", now, + ((CommandResponse) dispatcher.dispatchedResponses.get(0)) + .getDateReceived()); } public void testRunCatchingIOException() throws Exception @@ -251,19 +293,46 @@ public class ManagerReaderImplTest exten DisconnectEvent disconnectEvent; socketConnectionFacade.readLine(); - socketConnectionFacadeMC.setThrowable(new IOException("Something happened to the network...")); - - disconnectEvent = new DisconnectEvent(asteriskServer); - disconnectEvent.setDateReceived(now); - dispatcher.dispatchEvent(disconnectEvent); + socketConnectionFacadeMC.setThrowable(new IOException( + "Something happened to the network...")); socketConnectionFacadeMC.replay(); - dispatcherMC.replay(); managerReader.setSocket(socketConnectionFacade); managerReader.run(); socketConnectionFacadeMC.verify(); - dispatcherMC.verify(); + + assertEquals("must not dispatch a response", 0, + dispatcher.dispatchedResponses.size()); + + assertEquals("not exactly one events dispatched", 1, + dispatcher.dispatchedEvents.size()); + + assertEquals("first event must be a DisconnectEvent", + DisconnectEvent.class, dispatcher.dispatchedEvents.get(0) + .getClass()); + } + + private class MockedDispatcher implements Dispatcher + { + List dispatchedEvents; + List dispatchedResponses; + + public MockedDispatcher() + { + this.dispatchedEvents = new ArrayList(); + this.dispatchedResponses = new ArrayList(); + } + + public void dispatchResponse(ManagerResponse response) + { + dispatchedResponses.add(response); + } + + public void dispatchEvent(ManagerEvent event) + { + dispatchedEvents.add(event); + } } } |