KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.codehaus.spice.netserve.connection.impl;
2
3 import java.net.ServerSocket JavaDoc;
4 import java.io.IOException JavaDoc;
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 JavaDoc
16    {
17       final Mock mockLogger = new Mock( Logger.class );
18
19       final String JavaDoc name = "MyName";
20       final ServerSocket JavaDoc serverSocket = new ServerSocket JavaDoc( 2023 );
21       final IOException JavaDoc ioe = new IOException JavaDoc();
22
23       final String JavaDoc acceptorCreatedMessage =
24          "Creating Acceptor " + name + " on " +
25          serverSocket.getInetAddress().getHostAddress() + ":" +
26          serverSocket.getLocalPort() + ".";
27
28       final String JavaDoc acceptorClosingMessage =
29          "Closing Acceptor " + name + ".";
30
31       final String JavaDoc serverSocketListening =
32          "About to call accept() on ServerSocket '" + name + "'.";
33
34       final String JavaDoc errorAcceptingConnectionMessage =
35          "Error Accepting connection on " + name;
36
37       final String JavaDoc 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 JavaDoc
62    {
63       try
64       {
65          new DNAAcceptorMonitor( null );
66       }
67       catch ( final NullPointerException JavaDoc 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