15820f308631a825a05feddddd0aafb962f272b9bPaul Hawkepackage fi.iki.elonen.integration; 25820f308631a825a05feddddd0aafb962f272b9bPaul Hawke 35820f308631a825a05feddddd0aafb962f272b9bPaul Hawkeimport fi.iki.elonen.NanoHTTPD; 45820f308631a825a05feddddd0aafb962f272b9bPaul Hawkeimport org.apache.http.client.HttpClient; 55820f308631a825a05feddddd0aafb962f272b9bPaul Hawkeimport org.apache.http.impl.client.DefaultHttpClient; 65820f308631a825a05feddddd0aafb962f272b9bPaul Hawkeimport org.junit.After; 75820f308631a825a05feddddd0aafb962f272b9bPaul Hawkeimport org.junit.Before; 85820f308631a825a05feddddd0aafb962f272b9bPaul Hawke 95820f308631a825a05feddddd0aafb962f272b9bPaul Hawkeimport java.io.IOException; 105820f308631a825a05feddddd0aafb962f272b9bPaul Hawke 115820f308631a825a05feddddd0aafb962f272b9bPaul Hawke/** 125820f308631a825a05feddddd0aafb962f272b9bPaul Hawke * @author Paul S. Hawke (paul.hawke@gmail.com) 135820f308631a825a05feddddd0aafb962f272b9bPaul Hawke * On: 9/2/13 at 10:02 PM 145820f308631a825a05feddddd0aafb962f272b9bPaul Hawke */ 155820f308631a825a05feddddd0aafb962f272b9bPaul Hawkepublic abstract class IntegrationTestBase<T extends NanoHTTPD> { 165820f308631a825a05feddddd0aafb962f272b9bPaul Hawke protected DefaultHttpClient httpclient; 175820f308631a825a05feddddd0aafb962f272b9bPaul Hawke protected T testServer; 185820f308631a825a05feddddd0aafb962f272b9bPaul Hawke 195820f308631a825a05feddddd0aafb962f272b9bPaul Hawke @Before 205820f308631a825a05feddddd0aafb962f272b9bPaul Hawke public void setUp() { 215820f308631a825a05feddddd0aafb962f272b9bPaul Hawke testServer = createTestServer(); 225820f308631a825a05feddddd0aafb962f272b9bPaul Hawke httpclient = new DefaultHttpClient(); 235820f308631a825a05feddddd0aafb962f272b9bPaul Hawke try { 245820f308631a825a05feddddd0aafb962f272b9bPaul Hawke testServer.start(); 255820f308631a825a05feddddd0aafb962f272b9bPaul Hawke } catch (IOException e) { 265820f308631a825a05feddddd0aafb962f272b9bPaul Hawke e.printStackTrace(); 275820f308631a825a05feddddd0aafb962f272b9bPaul Hawke } 285820f308631a825a05feddddd0aafb962f272b9bPaul Hawke } 295820f308631a825a05feddddd0aafb962f272b9bPaul Hawke 305820f308631a825a05feddddd0aafb962f272b9bPaul Hawke @After 315820f308631a825a05feddddd0aafb962f272b9bPaul Hawke public void tearDown() { 325820f308631a825a05feddddd0aafb962f272b9bPaul Hawke httpclient.getConnectionManager().shutdown(); 335820f308631a825a05feddddd0aafb962f272b9bPaul Hawke testServer.stop(); 345820f308631a825a05feddddd0aafb962f272b9bPaul Hawke } 355820f308631a825a05feddddd0aafb962f272b9bPaul Hawke 365820f308631a825a05feddddd0aafb962f272b9bPaul Hawke public abstract T createTestServer(); 375820f308631a825a05feddddd0aafb962f272b9bPaul Hawke} 38