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 25fa186 RestClient tests.
25fa186 is described below
commit 25fa186d097b0ce628c10acfd8edf2add2c8141b
Author: JamesBognar <[email protected]>
AuthorDate: Wed Jul 1 12:02:15 2020 -0400
RestClient tests.
---
.../rest/client2/RestClient_Headers_Test.java | 1 +
.../org/apache/juneau/rest/client2/RestClient.java | 23 +++++++++++-----------
.../juneau/rest/client2/RestClientBuilder.java | 9 ++++++---
.../apache/juneau/rest/client2/RestRequest.java | 16 +++++++++++++++
4 files changed, 34 insertions(+), 15 deletions(-)
diff --git
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Headers_Test.java
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Headers_Test.java
index 3c18ca3..b99f4f0 100644
---
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Headers_Test.java
+++
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Headers_Test.java
@@ -120,6 +120,7 @@ public class RestClient_Headers_Test {
checkFooClient().headers(SerializedNameValuePair.create().name("Foo").value("Bar").serializer(OpenApiSerializer.DEFAULT)).build().get("/headers").headers(SerializedNameValuePair.create().name("Foo").value("Baz").serializer(OpenApiSerializer.DEFAULT)).debug().run().assertBody().is("['Bar','Baz']");
checkFooClient().headers(SerializedHeader.create().name("Foo").value("Bar").serializer(OpenApiSerializer.DEFAULT)).build().get("/headers").headers(SerializedHeader.create().name("Foo").value("Baz").serializer(OpenApiSerializer.DEFAULT)).debug().run().assertBody().is("['Bar','Baz']");
checkFooClient().headers((Object)new
Header[]{header("Foo","bar")}).build().get("/headers").headers((Object)new
Header[]{header("Foo","baz")}).debug().run().assertBody().is("['bar','baz']");
+
checkFooClient().headers(HeaderSupplier.of(header("Foo","bar"))).build().get("/headers").headers(HeaderSupplier.of(header("Foo","baz"))).run().assertBody().is("['bar','baz']");
checkClient("f").build().get("/headers").headers(bean).debug().run().assertBody().is("['1']");
checkClient("f").build().get("/headers").headers((Object)null).debug().run().assertBody().is("null");
assertThrown(()->client().headers("Foo")).contains("Invalid
type");
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java
index 92fdba2..39f017b 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClient.java
@@ -1984,10 +1984,7 @@ public class RestClient extends BeanContext implements
HttpClient, Closeable, Re
this.headers = HeaderSupplier.create();
for (Object o : getListProperty(RESTCLIENT_headers,
Object.class)) {
- if (o instanceof SerializedHeaderBuilder)
- o =
((SerializedHeaderBuilder)o).serializer(partSerializerSession, false).build();
- else if (o instanceof SerializedNameValuePairBuilder)
- o =
((SerializedNameValuePairBuilder)o).serializer(partSerializerSession,
false).build();
+ o = buildBuilders(o, partSerializerSession);
if (o instanceof HeaderSupplier)
headers.add((HeaderSupplier)o);
else
@@ -1996,10 +1993,7 @@ public class RestClient extends BeanContext implements
HttpClient, Closeable, Re
this.query = NameValuePairSupplier.create();
for (Object o : getListProperty(RESTCLIENT_query,
Object.class)) {
- if (o instanceof SerializedHeaderBuilder)
- o =
((SerializedHeaderBuilder)o).serializer(partSerializerSession, false).build();
- else if (o instanceof SerializedNameValuePairBuilder)
- o =
((SerializedNameValuePairBuilder)o).serializer(partSerializerSession,
false).build();
+ o = buildBuilders(o, partSerializerSession);
if (o instanceof NameValuePairSupplier)
query.add((NameValuePairSupplier)o);
else
@@ -2008,10 +2002,7 @@ public class RestClient extends BeanContext implements
HttpClient, Closeable, Re
this.formData = NameValuePairSupplier.create();
for (Object o : getListProperty(RESTCLIENT_formData,
Object.class)) {
- if (o instanceof SerializedHeaderBuilder)
- o =
((SerializedHeaderBuilder)o).serializer(partSerializerSession, false).build();
- else if (o instanceof SerializedNameValuePairBuilder)
- o =
((SerializedNameValuePairBuilder)o).serializer(partSerializerSession,
false).build();
+ o = buildBuilders(o, partSerializerSession);
if (o instanceof NameValuePairSupplier)
formData.add((NameValuePairSupplier)o);
else
@@ -2025,6 +2016,14 @@ public class RestClient extends BeanContext implements
HttpClient, Closeable, Re
creationStack = isDebug() ?
Thread.currentThread().getStackTrace() : null;
}
+ private static Object buildBuilders(Object o, HttpPartSerializerSession
ss) {
+ if (o instanceof SerializedHeaderBuilder)
+ return ((SerializedHeaderBuilder)o).serializer(ss,
false).build();
+ if (o instanceof SerializedNameValuePairBuilder)
+ return
((SerializedNameValuePairBuilder)o).serializer(ss, false).build();
+ return o;
+ }
+
/**
* Returns <jk>true</jk> if specified http method has content.
* <p>
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 1c177f0..668c170 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
@@ -1309,6 +1309,7 @@ public class RestClientBuilder extends BeanContextBuilder
{
* <li>{@link NameValuePairable}
* <li>{@link java.util.Map.Entry}
* <li>{@link NameValuePairs}
+ * <li>{@link HeaderSupplier}
* <li>{@link Map}
* <ul>
* <li>Values can be any POJO.
@@ -1322,7 +1323,7 @@ public class RestClientBuilder extends BeanContextBuilder
{
@FluentSetter
public RestClientBuilder headers(Object...headers) {
for (Object h : headers) {
- if (BasicHeader.canCast(h)) {
+ if (BasicHeader.canCast(h) || h instanceof
HeaderSupplier) {
appendTo(RESTCLIENT_headers, h);
} else if (h instanceof Map) {
for (Map.Entry<Object,Object> e :
toMap(h).entrySet())
@@ -2058,6 +2059,7 @@ public class RestClientBuilder extends BeanContextBuilder
{
* <li>{@link NameValuePairable}
* <li>{@link java.util.Map.Entry}
* <li>{@link NameValuePairs}
+ * <li>{@link NameValuePairSupplier}
* <li>{@link Map}
* <ul>
* <li>Values can be any POJO.
@@ -2071,7 +2073,7 @@ public class RestClientBuilder extends BeanContextBuilder
{
@FluentSetter
public RestClientBuilder queries(Object...params) {
for (Object p : params) {
- if (BasicNameValuePair.canCast(p)) {
+ if (BasicNameValuePair.canCast(p) || p instanceof
NameValuePairSupplier) {
appendTo(RESTCLIENT_query, p);
} else if (p instanceof Map) {
for (Map.Entry<Object,Object> e :
toMap(p).entrySet())
@@ -2345,6 +2347,7 @@ public class RestClientBuilder extends BeanContextBuilder
{
* <li>{@link NameValuePairable}
* <li>{@link java.util.Map.Entry}
* <li>{@link NameValuePairs}
+ * <li>{@link NameValuePairSupplier}
* <li>{@link Map}
* <ul>
* <li>Values can be any POJO.
@@ -2358,7 +2361,7 @@ public class RestClientBuilder extends BeanContextBuilder
{
@FluentSetter
public RestClientBuilder formDatas(Object...params) {
for (Object p : params) {
- if (BasicNameValuePair.canCast(p)) {
+ if (BasicNameValuePair.canCast(p) || p instanceof
NameValuePairSupplier) {
appendTo(RESTCLIENT_formData, p);
} else if (p instanceof Map) {
for (Map.Entry<Object,Object> e :
toMap(p).entrySet())
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java
index 4ada3d8..a9d31a3 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java
@@ -940,6 +940,7 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
* <li>{@link NameValuePairable}
* <li>{@link java.util.Map.Entry}
* <li>{@link NameValuePairs}
+ * <li>{@link NameValuePairSupplier}
* <li>{@link Map}
* <ul>
* <li>Values can be any POJO.
@@ -956,6 +957,9 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
for (Object o : params) {
if (BasicNameValuePair.canCast(o)) {
innerPath(BasicNameValuePair.cast(o));
+ } else if (o instanceof NameValuePairSupplier) {
+ for (NameValuePair p : (NameValuePairSupplier)o)
+ innerPath(p);
} else if (o instanceof Collection) {
for (Object o2 : (Collection<?>)o)
innerPath(BasicNameValuePair.cast(o2));
@@ -1270,6 +1274,7 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
* <li>{@link NameValuePairable}
* <li>{@link java.util.Map.Entry}
* <li>{@link NameValuePairs}
+ * <li>{@link NameValuePairSupplier}
* <li>{@link Map}
* <ul>
* <li>Values can be any POJO.
@@ -1286,6 +1291,9 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
for (Object o : params) {
if (BasicNameValuePair.canCast(o)) {
l.add(BasicNameValuePair.cast(o));
+ } else if (o instanceof NameValuePairSupplier) {
+ for (NameValuePair p : (NameValuePairSupplier)o)
+ l.add(p);
} else if (o instanceof Collection) {
for (Object o2 : (Collection<?>)o)
l.add(BasicNameValuePair.cast(o2));
@@ -1651,6 +1659,7 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
* <li>{@link NameValuePairable}
* <li>{@link java.util.Map.Entry}
* <li>{@link NameValuePairs}
+ * <li>{@link NameValuePairSupplier}
* <li>{@link Map}
* <ul>
* <li>Values can be any POJO.
@@ -1667,6 +1676,9 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
for (Object o : params) {
if (BasicNameValuePair.canCast(o)) {
l.add(BasicNameValuePair.cast(o));
+ } else if (o instanceof NameValuePairSupplier) {
+ for (NameValuePair p : (NameValuePairSupplier)o)
+ l.add(p);
} else if (o instanceof Collection) {
for (Object o2 : (Collection<?>)o)
l.add(BasicNameValuePair.cast(o2));
@@ -2180,6 +2192,7 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
* <li>{@link NameValuePairable}
* <li>{@link java.util.Map.Entry}
* <li>{@link NameValuePairs}
+ * <li>{@link HeaderSupplier}
* <li>{@link Map}
* <ul>
* <li>Values can be any POJO.
@@ -2196,6 +2209,9 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
for (Object o : headers) {
if (BasicHeader.canCast(o)) {
l.add(BasicHeader.cast(o));
+ } else if (o instanceof HeaderSupplier) {
+ for (Header h : (HeaderSupplier)o)
+ l.add(h);
} else if (o instanceof Collection) {
for (Object o2 : (Collection<?>)o)
l.add(BasicHeader.cast(o2));