1 package org.codehaus.spice.netserve.connection.impl; 2 3 import java.net.ServerSocket ; 4 import java.io.IOException ; 5 6 import com.mockobjects.dynamic.C; 7 import com.mockobjects.dynamic.Mock; 8 import junit.framework.TestCase; 9 import org.codehaus.dna.Logger; 10 11 public class DNAAcceptorMonitorTestCase 12 extends TestCase 13 { 14 public void testDNAAcceptorMonitor() 15 throws Exception 16 { 17 final Mock mockLogger = new Mock( Logger.class ); 18 19 final String name = "MyName"; 20 final ServerSocket serverSocket = new ServerSocket ( 2023 ); 21 final IOException ioe = new IOException (); 22 23 final String acceptorCreatedMessage = 24 "Creating Acceptor " + name + " on " + 25 serverSocket.getInetAddress().getHostAddress() + ":" + 26 serverSocket.getLocalPort() + "."; 27 28 final String acceptorClosingMessage = 29 "Closing Acceptor " + name + "."; 30 31 final String serverSocketListening = 32 "About to call accept() on ServerSocket '" + name + "'."; 33 34 final String errorAcceptingConnectionMessage = 35 "Error Accepting connection on " + name; 36 37 final String errorClosingServerSocketMessage = 38 "Error Closing Server Socket " + name; 39 40 mockLogger.expect( "info", C.args( C.eq( acceptorCreatedMessage ) ) ); 41 mockLogger.expect( "info", C.args( C.eq( acceptorClosingMessage ) ) ); 42 mockLogger.expectAndReturn( "isDebugEnabled", C.NO_ARGS, false ); 43 mockLogger.expectAndReturn( "isDebugEnabled", C.NO_ARGS, true ); 44 mockLogger.expect( "debug", C.args( C.eq( serverSocketListening ) ) ); 45 mockLogger.expect( "warn", C.args( C.eq( errorAcceptingConnectionMessage ), C.eq( ioe ) ) ); 46 mockLogger.expect( "warn", C.args( C.eq( errorClosingServerSocketMessage ), C.eq( ioe ) ) ); 47 final Logger logger = (Logger) mockLogger.proxy(); 48 49 final AcceptorMonitor monitor = new DNAAcceptorMonitor( logger ); 50 monitor.acceptorCreated( name, serverSocket ); 51 monitor.acceptorClosing( name, serverSocket ); 52 monitor.serverSocketListening( name, serverSocket ); 53 monitor.serverSocketListening( name, serverSocket ); 54 monitor.errorAcceptingConnection( name, ioe ); 55 monitor.errorClosingServerSocket( name, ioe ); 56 57 mockLogger.verify(); 58 } 59 60 public void testDNAAcceptorMonitorPassedNullIntoCtor() 61 throws Exception 62 { 63 try 64 { 65 new DNAAcceptorMonitor( null ); 66 } 67 catch ( final NullPointerException npe ) 68 { 69 assertEquals( "npe.getMessage()", "logger", npe.getMessage() ); 70 return; 71 } 72 fail( "Expected to fail due to npe in ctor" ); 73 } 74 } 75 | Popular Tags |