[Asterisk-java-cvs] CVS: asterisk-java/src/test/net/sf/asterisk/manager MyUserEvent.java,NONE,1.1 Ma
Brought to you by:
srt
From: Stefan R. <sr...@us...> - 2005-03-05 01:40:02
|
Update of /cvsroot/asterisk-java/asterisk-java/src/test/net/sf/asterisk/manager In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27309/src/test/net/sf/asterisk/manager Modified Files: ManagerReaderImplTest.java ManagerReaderMock.java DefaultManagerConnectionTest.java Added Files: MyUserEvent.java Log Message: Added registerUserEventClass() to ManagerConnection to allow users to add their custom event classes without changing asterisk-java's source code --- NEW FILE: MyUserEvent.java --- /* * Copyright 2004-2005 Stefan Reuter * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package net.sf.asterisk.manager; import net.sf.asterisk.manager.event.ManagerEvent; public class MyUserEvent extends ManagerEvent { private static final long serialVersionUID = 3689913989471418169L; public MyUserEvent(Object source) { super(source); } } Index: ManagerReaderImplTest.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/test/net/sf/asterisk/manager/ManagerReaderImplTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -p -r1.2 -r1.3 --- ManagerReaderImplTest.java 4 Mar 2005 22:21:04 -0000 1.2 +++ ManagerReaderImplTest.java 5 Mar 2005 01:39:51 -0000 1.3 @@ -54,7 +54,7 @@ public class ManagerReaderImplTest exten socketConnectionFacadeMC = MockControl.createControl(SocketConnectionFacade.class); socketConnectionFacade = (SocketConnectionFacade) socketConnectionFacadeMC.getMock(); } - + protected void tearDown() { DateUtil.overrideCurrentDate(null); @@ -132,6 +132,38 @@ public class ManagerReaderImplTest exten dispatcherMC.verify(); } + public void testRunReceivingUserEvent() throws Exception + { + DisconnectEvent disconnectEvent; + MyUserEvent myUserEvent; + + managerReader.registerEventClass(MyUserEvent.class); + + socketConnectionFacade.readLine(); + socketConnectionFacadeMC.setReturnValue("Event: MyUser"); + socketConnectionFacade.readLine(); + socketConnectionFacadeMC.setReturnValue(""); + 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(); + } + public void testRunReceivingResponse() throws Exception { DisconnectEvent disconnectEvent; Index: ManagerReaderMock.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/test/net/sf/asterisk/manager/ManagerReaderMock.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -p -r1.1 -r1.2 --- ManagerReaderMock.java 4 Mar 2005 22:21:04 -0000 1.1 +++ ManagerReaderMock.java 5 Mar 2005 01:39:51 -0000 1.2 @@ -29,6 +29,11 @@ public class ManagerReaderMock implement } + public void registerEventClass(Class event) + { + throw new UnsupportedOperationException(); + } + public void setSocket(SocketConnectionFacade socket) { setSocketCalls++; Index: DefaultManagerConnectionTest.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/test/net/sf/asterisk/manager/DefaultManagerConnectionTest.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -p -r1.4 -r1.5 --- DefaultManagerConnectionTest.java 5 Mar 2005 00:43:45 -0000 1.4 +++ DefaultManagerConnectionTest.java 5 Mar 2005 01:39:51 -0000 1.5 @@ -76,6 +76,27 @@ public class DefaultManagerConnectionTes assertEquals("Invalid password", "p", dmc.getPassword()); } + public void testRegisterUserEventClass() + { + MockControl managerReaderMC; + ManagerReader managerReader; + + managerReaderMC = MockControl.createControl(ManagerReader.class); + managerReader = (ManagerReader) managerReaderMC.getMock(); + + managerReader.registerEventClass(MyUserEvent.class); + managerReaderMC.replay(); + + dmc = new MockedDefaultManagerConnection(managerReader, mockWriter, mockSocket); + dmc.registerUserEventClass(MyUserEvent.class); + + assertEquals("unexpected call to createSocket", 0, dmc.createSocketCalls); + assertEquals("unexpected call to createWriter", 0, dmc.createWriterCalls); + assertEquals("createReader not called 1 time", 1, dmc.createReaderCalls); + + managerReaderMC.verify(); + } + public void testLogin() throws Exception { MockControl managerEventHandlerMC; |