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 <[email protected]>
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 */