package com.pugh.sockso.web; import com.pugh.sockso.Constants; import com.pugh.sockso.Properties; import com.pugh.sockso.StringProperties; import com.pugh.sockso.inject.SocksoModule; import com.pugh.sockso.tests.TestOptionSet; import com.google.inject.Guice; import com.google.inject.Injector; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; import junit.framework.TestCase; public class HttpServerTest extends TestCase { private Injector injector; @Override protected void setUp() { injector = Guice.createInjector( new SocksoModule(new TestOptionSet()) ); } /** * empty implementation for testing * */ class MyHttpServer extends HttpServer { public MyHttpServer( final Properties p ) { super( injector, p ); } @Override public ServerSocket getServerSocket( final int port ) throws IOException { return null; } @Override public String getProtocol() { return "http"; } } public void testGetHost() { StringProperties p = new StringProperties(); String expectedIp = "123.435.324.653"; p.set( Constants.SERVER_HOST, expectedIp ); final MyHttpServer s = new MyHttpServer( p ); assertEquals( expectedIp + ":4444", s.getHost() ); } public void testHandleRequest() { final Socket client = new MySocket(); final MyHttpServer s = new MyHttpServer( null ); s.handleRequest( client ); } class MySocket extends Socket { } }