1package com.xtremelabs.robolectric.shadows;
2
3import static org.hamcrest.CoreMatchers.*;
4import static org.junit.Assert.assertThat;
5
6import com.xtremelabs.robolectric.Robolectric;
7import com.xtremelabs.robolectric.WithTestDefaultsRunner;
8import com.xtremelabs.robolectric.util.Strings;
9import org.apache.http.HttpResponse;
10import org.apache.http.client.methods.HttpGet;
11import org.junit.Test;
12import org.junit.runner.RunWith;
13
14import android.net.http.AndroidHttpClient;
15
16import java.io.IOException;
17import java.io.InputStream;
18
19@RunWith(WithTestDefaultsRunner.class)
20public class AndroidHttpClientTest {
21
22    @Test
23    public void testNewInstance() throws Exception {
24        AndroidHttpClient client = AndroidHttpClient.newInstance("foo");
25        assertThat(client, not(nullValue()));
26    }
27
28    @Test
29    public void testNewInstanceWithContext() throws Exception {
30        AndroidHttpClient client = AndroidHttpClient.newInstance("foo", Robolectric.application);
31        assertThat(client, not(nullValue()));
32    }
33
34    @Test
35    public void testExecute() throws IOException {
36        AndroidHttpClient client = AndroidHttpClient.newInstance("foo");
37        Robolectric.addPendingHttpResponse(200, "foo");
38        HttpResponse resp = client.execute(new HttpGet("/foo"));
39        assertThat(resp.getStatusLine().getStatusCode(), is(200));
40        assertThat(Strings.fromStream(resp.getEntity().getContent()), equalTo("foo"));
41    }
42}
43