public void testUserAgentIsSetInRequestHeader() throws Exception { MockWebServer server = new MockWebServer(); server.enqueue(new MockResponse().setBody("OK")); server.play(); String url = server.getUrl("/").toString(); OkHttpClient client = new OkHttpClient(); client.networkInterceptors().add(new UserAgentInterceptor("foo/bar")); Request testRequest = new Request.Builder().url(url).build() String result = client.newCall(testRequest).execute().body().string(); assertEquals("OK", result); RecordedRequest request = server.takeRequest(); assertEquals("foo/bar", request.getHeader("User-Agent")); }
MockWebServer server = new MockWebServer(); URL url = server.getUrl("/");
// Create a MockWebServer. These are lean enough that you can create a new // instance for every unit test. MockWebServer server = new MockWebServer(); // Schedule some responses. server.enqueue(new MockResponse().setBody("it's all cool")); // Start the server. server.play(); // Ask the server for its URL. You'll need this to make HTTP requests. //Http is my own http executor. Http.Response response = http.get(server.getUrl("/"));
@RunWith(AndroidJUnit4.class) @SmallTest public class RestATest { @Rule public ActivityTestRule<MainActivity> mMainActivityActivityTestRule = new ActivityTestRule<MainActivity>(MainActivity.class, true, false); private MockWebServer mMock; @Before public void set() { mMock = new MockWebServer(); try { mMock.play(); } catch (IOException pE) { pE.printStackTrace(); } //set the mock Server UtilRetrofit.URL = mMock.getUrl("/").toString(); } @Test public void testRequest1() { String bodyStr = "{\"d_id\":[\n\"Playing \\\"Football\\\"\",\n\"Music\",\n\"Dancing\",\n\"Browsing\"\n]\n}"; mMock.enqueue(new MockResponse().setResponseCode(200).setBody(bodyStr)); mMainActivityActivityTestRule.launchActivity(null); } }
public void test() throws Exception { // Create a MockWebServer. These are lean enough that you can create a new // instance for every unit test. MockWebServer server = new MockWebServer(); // Schedule some responses. server.enqueue(new MockResponse().setBody("hello, world!")); // Start the server. server.play(); // Ask the server for its URL. You'll need this to make HTTP requests. URL baseUrl = server.getUrl("/v1/chat/"); // Exercise your application code, which should make those HTTP requests. // Responses are returned in the same order that they are enqueued. Chat chat = new Chat(baseUrl); chat.loadMore(); assertEquals("hello, world!", chat.messages()); // Shut down the server. Instances cannot be reused. server.shutdown(); }