package com.twitter.hbc.httpclient; import com.twitter.hbc.httpclient.auth.Authentication; import java.net.UnknownHostException; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpUriRequest; import org.apache.http.conn.scheme.SchemeRegistry; import org.apache.http.impl.conn.SchemeRegistryFactory; import org.apache.http.params.HttpParams; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; public class RestartableHttpClientTest { private Authentication mockAuth; private SchemeRegistry defaultSchemeRegistry; private HttpParams mockParams; private HttpUriRequest request; @Before public void setup() throws Exception { mockAuth = mock(Authentication.class); mockParams = mock(HttpParams.class); defaultSchemeRegistry = SchemeRegistryFactory.createDefault(); request = new HttpGet("http://hi"); } @Test public void testRestart() throws Exception { RestartableHttpClient client = new RestartableHttpClient(mockAuth, true, mockParams, defaultSchemeRegistry); client.setup(); client.restart(); try { client.execute(request); // used to crash, https://github.com/twitter/hbc/issues/113 fail("should not reach here"); } catch (UnknownHostException e) { // expected } } }