Skip to content

File tree

1 file changed

+47
-8
lines changed

1 file changed

+47
-8
lines changed

libraries-http/src/test/java/com/baeldung/okhttp/OkHttpGetLiveTest.java

Lines changed: 47 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,22 @@
22

33
import static com.baeldung.client.Consts.APPLICATION_PORT;
44
import static org.hamcrest.CoreMatchers.equalTo;
5+
import static org.junit.Assert.assertNotNull;
56
import static org.junit.Assert.assertThat;
67
import static org.junit.Assert.fail;
78

89
import java.io.IOException;
910

11+
import org.junit.Before;
12+
import org.junit.Test;
13+
1014
import okhttp3.Call;
1115
import okhttp3.Callback;
1216
import okhttp3.HttpUrl;
1317
import okhttp3.OkHttpClient;
1418
import okhttp3.Request;
1519
import okhttp3.Response;
1620

17-
import org.junit.Before;
18-
import org.junit.Test;
19-
2021
/**
2122
* Execute <code>spring-rest</code> module before running this live test
2223
*/
@@ -34,22 +35,59 @@ public void init() {
3435

3536
@Test
3637
public void whenGetRequest_thenCorrect() throws IOException {
37-
final Request request = new Request.Builder().url(BASE_URL + "/date").build();
38+
final Request request = new Request.Builder().url(BASE_URL + "/date")
39+
.build();
3840

3941
final Call call = client.newCall(request);
4042
final Response response = call.execute();
4143

4244
assertThat(response.code(), equalTo(200));
4345
}
4446

47+
@Test
48+
public void whenResponseBodyReadOnce_thenNotNull() throws IOException {
49+
OkHttpClient client = new OkHttpClient.Builder().build();
50+
51+
Request request = new Request.Builder().url(BASE_URL + "/date")
52+
.build();
53+
54+
try (Response response = client.newCall(request)
55+
.execute()) {
56+
String first = response.body()
57+
.string();
58+
assertNotNull(first);
59+
}
60+
}
61+
62+
@Test(expected = IllegalStateException.class)
63+
public void whenResponseBodyReadTwice_thenThrows() throws IOException {
64+
OkHttpClient client = new OkHttpClient.Builder().build();
65+
66+
Request request = new Request.Builder().url(BASE_URL + "/date")
67+
.build();
68+
69+
try (Response response = client.newCall(request)
70+
.execute()) {
71+
String first = response.body()
72+
.string();
73+
assertNotNull(first);
74+
75+
String second = response.body()
76+
.string(); // throws IllegalStateException
77+
}
78+
}
79+
4580
@Test
4681
public void whenGetRequestWithQueryParameter_thenCorrect() throws IOException {
47-
final HttpUrl.Builder urlBuilder = HttpUrl.parse(BASE_URL + "/ex/bars").newBuilder();
82+
final HttpUrl.Builder urlBuilder = HttpUrl.parse(BASE_URL + "/ex/bars")
83+
.newBuilder();
4884
urlBuilder.addQueryParameter("id", "1");
4985

50-
final String url = urlBuilder.build().toString();
86+
final String url = urlBuilder.build()
87+
.toString();
5188

52-
final Request request = new Request.Builder().url(url).build();
89+
final Request request = new Request.Builder().url(url)
90+
.build();
5391

5492
final Call call = client.newCall(request);
5593
final Response response = call.execute();
@@ -59,7 +97,8 @@ public void whenGetRequestWithQueryParameter_thenCorrect() throws IOException {
5997

6098
@Test
6199
public void whenAsynchronousGetRequest_thenCorrect() throws InterruptedException {
62-
final Request request = new Request.Builder().url(BASE_URL + "/date").build();
100+
final Request request = new Request.Builder().url(BASE_URL + "/date")
101+
.build();
63102

64103
final Call call = client.newCall(request);
65104

0 commit comments

Comments
 (0)