BAEL-11410: Add per request test
This commit is contained in:
parent
9168492b7b
commit
b241ef7886
|
@ -1,13 +1,11 @@
|
||||||
package com.baeldung.okhttp;
|
package com.baeldung.okhttp;
|
||||||
|
|
||||||
import okhttp3.MediaType;
|
import okhttp3.*;
|
||||||
import okhttp3.OkHttpClient;
|
|
||||||
import okhttp3.Request;
|
|
||||||
import okhttp3.RequestBody;
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.io.InterruptedIOException;
|
import java.io.InterruptedIOException;
|
||||||
import java.net.SocketTimeoutException;
|
import java.net.SocketTimeoutException;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
@ -25,7 +23,7 @@ public class OkHttpTimeoutLiveTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenConnectTimeoutExceededThenSocketTimeoutException() {
|
public void whenConnectTimeoutExceededThenSocketTimeoutException() {
|
||||||
// Given
|
// Given
|
||||||
final OkHttpClient client = new OkHttpClient.Builder()
|
OkHttpClient client = new OkHttpClient.Builder()
|
||||||
.connectTimeout(10, TimeUnit.MILLISECONDS)
|
.connectTimeout(10, TimeUnit.MILLISECONDS)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
@ -45,7 +43,7 @@ public class OkHttpTimeoutLiveTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenReadTimeoutExceededThenSocketTimeoutException() {
|
public void whenReadTimeoutExceededThenSocketTimeoutException() {
|
||||||
// Given
|
// Given
|
||||||
final OkHttpClient client = new OkHttpClient.Builder()
|
OkHttpClient client = new OkHttpClient.Builder()
|
||||||
.readTimeout(10, TimeUnit.MILLISECONDS)
|
.readTimeout(10, TimeUnit.MILLISECONDS)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
@ -65,7 +63,7 @@ public class OkHttpTimeoutLiveTest {
|
||||||
@Test
|
@Test
|
||||||
public void whenWriteTimeoutExceededThenSocketTimeoutException() {
|
public void whenWriteTimeoutExceededThenSocketTimeoutException() {
|
||||||
// Given
|
// Given
|
||||||
final OkHttpClient client = new OkHttpClient.Builder()
|
OkHttpClient client = new OkHttpClient.Builder()
|
||||||
.writeTimeout(10, TimeUnit.MILLISECONDS)
|
.writeTimeout(10, TimeUnit.MILLISECONDS)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
@ -84,9 +82,9 @@ public class OkHttpTimeoutLiveTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void whenCallTimeoutExceededThenSocketTimeoutException() {
|
public void whenCallTimeoutExceededThenInterruptedIOException() {
|
||||||
// Given
|
// Given
|
||||||
final OkHttpClient client = new OkHttpClient.Builder()
|
OkHttpClient client = new OkHttpClient.Builder()
|
||||||
.callTimeout(1, TimeUnit.SECONDS)
|
.callTimeout(1, TimeUnit.SECONDS)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
@ -103,6 +101,31 @@ public class OkHttpTimeoutLiveTest {
|
||||||
logThrown(thrown);
|
logThrown(thrown);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenPerRequestTimeoutExtendedThenResponseSuccess() throws IOException {
|
||||||
|
// Given
|
||||||
|
OkHttpClient defaultClient = new OkHttpClient.Builder()
|
||||||
|
.readTimeout(1, TimeUnit.SECONDS)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.url(HTTPS_ADDRESS_DELAY_2)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
Throwable thrown = catchThrowable(() -> defaultClient.newCall(request).execute());
|
||||||
|
|
||||||
|
assertThat(thrown).isInstanceOf(InterruptedIOException.class);
|
||||||
|
|
||||||
|
// When
|
||||||
|
OkHttpClient extendedTimeoutClient = defaultClient.newBuilder()
|
||||||
|
.readTimeout(5, TimeUnit.SECONDS)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
// Then
|
||||||
|
Response response = extendedTimeoutClient.newCall(request).execute();
|
||||||
|
assertThat(response.code()).isEqualTo(200);
|
||||||
|
}
|
||||||
|
|
||||||
private void logThrown(Throwable thrown) {
|
private void logThrown(Throwable thrown) {
|
||||||
logger.info("Thrown: ", thrown);
|
logger.info("Thrown: ", thrown);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue