@RunWith(MockitoJUnitRunner.class)
public class MyHttpClientTest {
private MockWebServer mockServer;
@Mock
private MyResponseListener responseListener;
@Before
public void setUp() throws Exception {
mockServer = new MockWebServer();
mockServer.start();
MyHttpClient.setBaseUrl(mockServer.url("/").toString());
}
@After
public void tearDown() throws Exception {
mockServer.shutdown();
}
@Test
public void testHttpRequest() throws InterruptedException {
mockServer.enqueue(new MockResponse().setResponseCode(200).setBody("Mock Response"));
MyHttpClient httpClient = new MyHttpClient();
httpClient.sendRequest(responseListener);
RecordedRequest recordedRequest = mockServer.takeRequest();
assertThat(recordedRequest.getPath(), is("/"));
verify(responseListener).onSuccess("Mock Response");
}
}