This is an automated email from the ASF dual-hosted git repository.
arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git
The following commit(s) were added to refs/heads/develop by this push:
new b691ec4b1 FINERACT-1724 read timeout for fineract client is added.
b691ec4b1 is described below
commit b691ec4b1d18bf7fb8d7061d3db4d7ae6513c6aa
Author: Peter Bagrij <[email protected]>
AuthorDate: Wed Jul 5 16:12:07 2023 +0200
FINERACT-1724 read timeout for fineract client is added.
---
.../org/apache/fineract/client/util/FineractClient.java | 6 ++++++
.../integrationtests/client/IntegrationTest.java | 16 ++++++++++++++--
.../integrationtests/client/ReportExportTest.java | 7 +++++++
3 files changed, 27 insertions(+), 2 deletions(-)
diff --git
a/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
b/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
index 9a14a4343..9df4eced1 100644
---
a/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
+++
b/fineract-client/src/main/java/org/apache/fineract/client/util/FineractClient.java
@@ -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,
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/IntegrationTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/IntegrationTest.java
index a60c30dc5..f3bee6ac4 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/IntegrationTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/IntegrationTest.java
@@ -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}.
*/
diff --git
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/ReportExportTest.java
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/ReportExportTest.java
index 3de4ddbc3..f01ce7868 100644
---
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/ReportExportTest.java
+++
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/client/ReportExportTest.java
@@ -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();