FINERACT-1724 read timeout for fineract client is added.

This commit is contained in:
Peter Bagrij
2023-07-06 12:13:23 +02:00
committed by Arnold Gálovics
parent 09f4c049ab
commit b691ec4b1d
3 changed files with 27 additions and 2 deletions
@@ -23,6 +23,7 @@ import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.time.Duration;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
@@ -471,6 +472,11 @@ public final class FineractClient {
return this;
}
public Builder readTimeout(Duration timeout) {
okBuilder.readTimeout(timeout);
return this;
}
/**
* Skip Fineract API host SSL certificate verification. DO NOT USE THIS when invoking a production server's API!
* This is intended for https://localhost:8443/ testing of development servers with self-signed certificates,
@@ -64,12 +64,24 @@ public abstract class IntegrationTest {
if (fineract == null) {
String url = System.getProperty("fineract.it.url", "https://localhost:8443/fineract-provider/api/");
// insecure(true) should *ONLY* ever be used for https://localhost:8443, NOT in real clients!!
fineract = FineractClient.builder().insecure(true).baseURL(url).tenant("default").basicAuth("mifos", "password")
.logging(Level.NONE).build();
FineractClient.Builder builder = FineractClient.builder().insecure(true).baseURL(url).tenant("default")
.basicAuth("mifos", "password").logging(Level.NONE);
customizeFineractClient(builder);
fineract = builder.build();
}
return fineract;
}
/**
* Callback to customize FineractClient
*
* @param builder
* FineractClient.Builder.
*/
protected void customizeFineractClient(FineractClient.Builder builder) {
}
/**
* See {@link FineractClient#DATE_FORMAT}.
*/
@@ -19,9 +19,11 @@
package org.apache.fineract.integrationtests.client;
import java.io.IOException;
import java.time.Duration;
import java.util.Map;
import okhttp3.MediaType;
import okhttp3.ResponseBody;
import org.apache.fineract.client.util.FineractClient;
import org.apache.fineract.integrationtests.CIOnly;
import org.apache.fineract.integrationtests.common.Utils;
import org.junit.jupiter.api.BeforeEach;
@@ -35,6 +37,11 @@ import retrofit2.Response;
*/
public class ReportExportTest extends IntegrationTest {
@Override
protected void customizeFineractClient(FineractClient.Builder builder) {
builder.readTimeout(Duration.ofSeconds(30));
}
@BeforeEach
public void setup() {
Utils.initializeRESTAssured();