KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > codehaus > spice > netserve > connection > impl > AvalonAcceptorMonitorTestCase


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