mirror of https://github.com/dapr/java-sdk.git
Fix issue where http client builder was always using default timeout. (#184)
This commit is contained in:
parent
082c4a46fc
commit
145326a70d
|
@ -52,7 +52,7 @@ public class DaprHttpBuilder {
|
||||||
*/
|
*/
|
||||||
private DaprHttp buildDaprHttp() {
|
private DaprHttp buildDaprHttp() {
|
||||||
OkHttpClient.Builder builder = new OkHttpClient.Builder();
|
OkHttpClient.Builder builder = new OkHttpClient.Builder();
|
||||||
builder.readTimeout(DEFAULT_READ_TIMEOUT);
|
builder.readTimeout(this.readTimeout);
|
||||||
OkHttpClient okHttpClient = builder.build();
|
OkHttpClient okHttpClient = builder.build();
|
||||||
return new DaprHttp(Properties.HTTP_PORT.get(), okHttpClient);
|
return new DaprHttp(Properties.HTTP_PORT.get(), okHttpClient);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
package io.dapr.client;
|
package io.dapr.client;
|
||||||
|
|
||||||
|
import okhttp3.OkHttpClient;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertNotNull;
|
import static org.junit.Assert.assertNotNull;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
@ -10,10 +15,27 @@ public class DaprHttpBuilderTest {
|
||||||
@Test
|
@Test
|
||||||
public void withReadTimeout() throws Exception {
|
public void withReadTimeout() throws Exception {
|
||||||
DaprHttpBuilder daprHttpBuilder = new DaprHttpBuilder();
|
DaprHttpBuilder daprHttpBuilder = new DaprHttpBuilder();
|
||||||
Duration duration = mock(Duration.class);
|
Duration duration = Duration.ofSeconds(999);
|
||||||
daprHttpBuilder.build();
|
daprHttpBuilder.build();
|
||||||
DaprHttpBuilder dapr = daprHttpBuilder.withReadTimeout(duration);
|
DaprHttpBuilder dapr = daprHttpBuilder.withReadTimeout(duration);
|
||||||
assertNotNull(dapr);
|
assertNotNull(dapr);
|
||||||
|
|
||||||
|
DaprHttp daprHttp = daprHttpBuilder.build();
|
||||||
|
assertOKHttpPropertyValue(daprHttp, "readTimeoutMillis", (int)duration.toMillis());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final void assertOKHttpPropertyValue(DaprHttp daprHttp, String propertyName, Object expectedValue) throws Exception {
|
||||||
|
// First, get okHttpClient.
|
||||||
|
Field httpClientField = DaprHttp.class.getDeclaredField("httpClient");
|
||||||
|
httpClientField.setAccessible(true);
|
||||||
|
OkHttpClient okHttpClient = (OkHttpClient) httpClientField.get(daprHttp);
|
||||||
|
assertNotNull(okHttpClient);
|
||||||
|
|
||||||
|
Field propertyField = OkHttpClient.class.getDeclaredField(propertyName);
|
||||||
|
propertyField.setAccessible(true);
|
||||||
|
Object value = propertyField.get(okHttpClient);
|
||||||
|
assertNotNull(value);
|
||||||
|
assertEquals(expectedValue, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue