1   package org.codehaus.spice.netserve.connection.handlers;
2   
3   import java.net.Socket;
4   
5   import com.mockobjects.dynamic.C;
6   import com.mockobjects.dynamic.Mock;
7   import junit.framework.TestCase;
8   import org.codehaus.spice.netserve.connection.RequestHandler;
9   
10  public class DelegatingRequestHandlerTestCase
11     extends TestCase
12  {
13     public void testNullPassedIntoCtor()
14        throws Exception
15     {
16        try
17        {
18           new DelegatingRequestHandler( null );
19        }
20        catch ( final NullPointerException npe )
21        {
22           assertEquals( "npe.getMessage()", "handler", npe.getMessage() );
23           return;
24        }
25     }
26  
27     public void testDelegateHandlerInvoked()
28        throws Exception
29     {
30        final Mock mockHandler = new Mock( RequestHandler.class );
31        final Socket socket = new Socket();
32        final Long timeout = new Long( 23 );
33        mockHandler.expect( "handleConnection", C.args( C.eq( socket ) ) );
34        mockHandler.expect( "shutdown", C.args( C.eq( timeout ) ) );
35        final RequestHandler handler = (RequestHandler) mockHandler.proxy();
36        final DelegatingRequestHandler delegatingHandler =
37           new DelegatingRequestHandler( handler );
38  
39        delegatingHandler.handleConnection( socket );
40        delegatingHandler.shutdown( 23 );
41     }
42  }