This is an automated email from the ASF dual-hosted git repository. vorburger pushed a commit to branch vorburger-FINERACT-1220_rm-getApiClient in repository https://gitbox.apache.org/repos/asf/fineract.git
commit b06d765e7e908fc7794003951684f5c69d8e1bd9 Author: Michael Vorburger <[email protected]> AuthorDate: Tue Oct 20 21:50:02 2020 +0200 Do not expose getApiClient() in FineractClient (FINERACT-1220) Because FineractClient is about to not use Swagger's ApiClient anymore. --- .../apache/fineract/client/util/FineractClient.java | 20 +++++++++++++++----- .../fineract/client/test/FineractClientTest.java | 10 +++++++++- 2 files changed, 24 insertions(+), 6 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 9f8ef5b..2ff5ded 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 @@ -138,7 +138,7 @@ import org.apache.fineract.client.services.UsersApi; import org.apache.fineract.client.services.WorkingDaysApi; /** - * Fineract Client Java SDK API entry point. This is recommended to be used instead of {@link ApiClient}. + * Fineract Client Java SDK API entry point. Use this instead of the {@link ApiClient}. * * @author Michael Vorburger.ch */ @@ -395,7 +395,7 @@ public final class FineractClient { public Builder logging(Level level) { HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(level); - getApiClient().getOkBuilder().addInterceptor(logging); + apiClient.getOkBuilder().addInterceptor(logging); return this; } @@ -458,13 +458,23 @@ public final class FineractClient { } /** - * Obtain the internal Retrofit ApiClient. This method is typically not required to be invoked for simple API + * Obtain the internal Retrofit Builder. This method is typically not required to be invoked for simple API * usages, but can be a handy back door for non-trivial advanced customizations of the API client. * * @return the {@link ApiClient} which {@link #build()} will use. */ - public ApiClient getApiClient() { - return apiClient; + public retrofit2.Retrofit.Builder getRetrofitBuilder() { + return apiClient.getAdapterBuilder(); + } + + /** + * Obtain the internal OkHttp Builder. This method is typically not required to be invoked for simple API + * usages, but can be a handy back door for non-trivial advanced customizations of the API client. + * + * @return the {@link ApiClient} which {@link #build()} will use. + */ + public okhttp3.OkHttpClient.Builder getOkBuilder() { + return apiClient.getOkBuilder(); } private <T> T has(String propertyName, T value) throws IllegalStateException { diff --git a/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTest.java b/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTest.java index 9374c62..34e0ed3 100644 --- a/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTest.java +++ b/fineract-client/src/test/java/org/apache/fineract/client/test/FineractClientTest.java @@ -54,10 +54,18 @@ public class FineractClientTest { } @Test + @Disabled // TODO FINERACT-1220 + void testOfficesDateFormat() { + FineractClient fineract = FineractClient.builder().baseURL("https://demo.fineract.dev/fineract-provider/api/v1/").tenant("default") + .basicAuth("mifos", "password").insecure(true).build(); + ok(fineract.offices.retrieveOffices(true, null, null)); + } + + @Test @Disabled // TODO remove Ignore once https://issues.apache.org/jira/browse/FINERACT-1221 is fixed void testInvalidOperations() { FineractClient.Builder builder = FineractClient.builder().baseURL("http://test/").tenant("default").basicAuth("mifos", "password"); - builder.getApiClient().getAdapterBuilder().validateEagerly(true); // see FINERACT-1221 + builder.getRetrofitBuilder().validateEagerly(true); // see FINERACT-1221 builder.build(); }
