package com.github.droidfu.http;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.when;
import java.io.ByteArrayInputStream;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.AbstractHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.protocol.HttpContext;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import android.util.Log;
import com.github.droidfu.TestBase;
@RunWith(PowerMockRunner.class)
@PrepareForTest({ Log.class })
public class BetterHttpTestBase extends TestBase {
protected String responseBody = "Here be Jason.";
protected String url = "http://api.qype.com/positions/1,1/places?x=y&a=%2Bc";
@Mock
protected AbstractHttpClient httpClientMock;
@Mock
protected BetterHttpResponse mockResponse;
@SuppressWarnings("unchecked")
@Before
public void setupHttpClient() throws Exception {
when(mockResponse.getResponseBody()).thenReturn(
new ByteArrayInputStream(responseBody.getBytes()));
when(mockResponse.getResponseBodyAsBytes()).thenReturn(responseBody.getBytes());
when(mockResponse.getResponseBodyAsString()).thenReturn(responseBody);
when(mockResponse.getStatusCode()).thenReturn(200);
when(
httpClientMock.execute(any(HttpUriRequest.class), any(ResponseHandler.class),
any(HttpContext.class))).thenReturn(mockResponse);
BasicHttpParams params = new BasicHttpParams();
HttpConnectionParams.setSoTimeout(params, BetterHttp.DEFAULT_SOCKET_TIMEOUT);
when(httpClientMock.getParams()).thenReturn(params);
BetterHttp.setHttpClient(httpClientMock);
}
}