This is an automated email from the ASF dual-hosted git repository. jamesbognar pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push: new 954a98b RestClient tests. 954a98b is described below commit 954a98ba724fd214bbd05f5637225f15de3a70f0 Author: JamesBognar <james.bog...@salesforce.com> AuthorDate: Thu Jun 4 10:42:08 2020 -0400 RestClient tests. --- .../juneau/reflection/ExecutableInfoTest.java | 8 ++--- .../org/apache/juneau/reflect/ExecutableInfo.java | 10 ++++++ .../java/org/apache/juneau/reflect/FieldInfo.java | 22 ++++++++++++ .../apache/juneau/rest/client2/RestClientTest.java | 39 ++++++++++++---------- .../juneau/rest/client2/RestClientBuilder.java | 2 +- 5 files changed, 59 insertions(+), 22 deletions(-) diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/reflection/ExecutableInfoTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/reflection/ExecutableInfoTest.java index 24f2fbb..b6467ec 100644 --- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/reflection/ExecutableInfoTest.java +++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/reflection/ExecutableInfoTest.java @@ -570,10 +570,10 @@ public class ExecutableInfoTest { @Test public void setAccessible() { - f_isPublic.setAccessible(); - f_isProtected.setAccessible(); - f_isPrivate.setAccessible(); - f_isDefault.setAccessible(); + f_isPublic.accessible(); + f_isProtected.accessible(); + f_isPrivate.accessible(); + f_isDefault.accessible(); } @Test diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java index a0a7963..b60ac3e 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java @@ -686,6 +686,16 @@ public abstract class ExecutableInfo { /** * Attempts to call <code>x.setAccessible(<jk>true</jk>)</code> and quietly ignores security exceptions. * + * @return This object (for method chaining). + */ + public ExecutableInfo accessible() { + setAccessible(); + return this; + } + + /** + * Attempts to call <code>x.setAccessible(<jk>true</jk>)</code> and quietly ignores security exceptions. + * * @return <jk>true</jk> if call was successful. */ public final boolean setAccessible() { diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java index 4f9ad19..84772e2 100644 --- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java +++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java @@ -324,6 +324,16 @@ public final class FieldInfo implements Comparable<FieldInfo> { /** * Attempts to call <code>x.setAccessible(<jk>true</jk>)</code> and quietly ignores security exceptions. * + * @return This object (for method chaining). + */ + public FieldInfo accessible() { + setAccessible(); + return this; + } + + /** + * Attempts to call <code>x.setAccessible(<jk>true</jk>)</code> and quietly ignores security exceptions. + * * @return <jk>true</jk> if call was successful. */ public boolean setAccessible() { @@ -379,4 +389,16 @@ public final class FieldInfo implements Comparable<FieldInfo> { public String getName() { return f.getName(); } + + /** + * Invokes this field on the specified object. + * + * @param o The object containing the field. + * @return The field value. + * @throws IllegalAccessException Field was not accessible. + * @throws IllegalArgumentException Field does not belong to object. + */ + public Object invoke(Object o) throws IllegalArgumentException, IllegalAccessException { + return f.get(o); + } } diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java index aa7b716..30a443a 100644 --- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java +++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java @@ -135,16 +135,7 @@ public class RestClientTest { @Test public void a02_useNoArgConstructor() { -// new A2() -// . -// .create(A.class) -// .simpleJson() -// .logToConsole() -// .build() -// .post("/bean", bean) -// .complete(); -// A2.create().httpClientBuilder(cb).build().builder().build(); -// RestClient.create().httpClient(hc).build().builder().build(); + new A2().build(); } //------------------------------------------------------------------------------------------------------------------ @@ -344,15 +335,29 @@ public class RestClientTest { //------------------------------------------------------------------------------------------------------------------ @Test - public void d01_pooled() throws RestCallException { - MockRestClient - .create(A.class) + public void d01_pooled() throws Exception { + RestClient rc = RestClient + .create() .simpleJson() .pooled() - .build() - .get("/echo") - .run() - .assertBody().contains("HTTP GET /echo"); + .build(); + Object hc = rc.httpClient; + assertEquals("PoolingHttpClientConnectionManager", ClassInfo.of(hc).getDeclaredField("connManager").accessible().invoke(hc).getClass().getSimpleName()); + + rc = RestClient + .create() + .simpleJson() + .build(); + hc = rc.httpClient; + assertEquals("BasicHttpClientConnectionManager", ClassInfo.of(hc).getDeclaredField("connManager").accessible().invoke(hc).getClass().getSimpleName()); + + rc = MockRestClient + .create(A.class) + .pooled() + .simpleJson() + .build(); + hc = rc.httpClient; + assertEquals("MockHttpClientConnectionManager", ClassInfo.of(hc).getDeclaredField("connManager").accessible().invoke(hc).getClass().getSimpleName()); } //------------------------------------------------------------------------------------------------------------------ diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java index 7685f50..9b3e551 100644 --- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java +++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java @@ -115,7 +115,7 @@ public class RestClientBuilder extends BeanContextBuilder { * Provided so that this class can be easily subclassed. */ protected RestClientBuilder() { - super(null); + this(null); } @Override /* ContextBuilder */