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 fe83c79 RestClient tests.
fe83c79 is described below
commit fe83c79e0dd613fc96dd6c3384efe8cc959b599b
Author: JamesBognar <[email protected]>
AuthorDate: Tue Jun 9 16:38:54 2020 -0400
RestClient tests.
---
.../main/ConfigurablePropertyCodeGenerator.java | 1 +
.../apache/juneau/rest/client2/RestClientTest.java | 57 +++++++++++++++++++---
.../org/apache/juneau/rest/client2/RestClient.java | 50 +++++++------------
.../apache/juneau/rest/mock2/MockRestClient.java | 5 --
.../juneau/rest/mock2/MockRestClientBuilder.java | 54 ++++++++++++++++++++
5 files changed, 124 insertions(+), 43 deletions(-)
diff --git
a/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java
b/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java
index fe462cd..8fbadb6 100644
---
a/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java
+++
b/juneau-releng/juneau-all/src/java/main/ConfigurablePropertyCodeGenerator.java
@@ -45,6 +45,7 @@ import org.apache.juneau.xml.*;
public class ConfigurablePropertyCodeGenerator {
static Class<?>[] classes = new Class<?>[]{
+ BasicRuntimeException.class,
BeanContextBuilder.class,
BeanTraverseBuilder.class,
ConfigBuilder.class,
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 c3ad079..7741ffb 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
@@ -34,6 +34,7 @@ import org.apache.http.message.*;
import org.apache.http.protocol.*;
import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
+import org.apache.juneau.annotation.URI;
import org.apache.juneau.collections.*;
import org.apache.juneau.http.*;
import org.apache.juneau.http.BasicNameValuePair;
@@ -303,12 +304,56 @@ public class RestClientTest {
@Test
public void a10_basicCalls_head() throws Exception {
MockRestClient
- .create(A.class)
- .simpleJson()
- .build()
- .head("/bean")
- .run()
- .assertBody().is("");
+ .create(A.class)
+ .simpleJson()
+ .build()
+ .head("/bean")
+ .run()
+ .assertBody().is("");
+ }
+
+ @Test
+ public void a11_basicCalls_formPost() throws Exception {
+ MockRestClient
+ .create(A.class)
+ .build()
+ .formPost("/bean", bean)
+ .accept("application/json+simple")
+ .run()
+ .assertBody().is("{f:1}");
+
+ MockRestClient
+ .create(A.class)
+ .build()
+ .formPost("/bean")
+ .body(bean)
+ .accept("application/json+simple")
+ .run()
+ .assertBody().is("{f:1}");
+
+ MockRestClient
+ .create(A.class)
+ .build()
+ .formPost("/bean", NameValuePairs.of("f","1"))
+ .accept("application/json+simple")
+ .run()
+ .assertBody().is("{f:1}");
+
+ MockRestClient
+ .create(A.class)
+ .build()
+ .formPost("/bean", BasicNameValuePair.of("f","1"))
+ .accept("application/json+simple")
+ .run()
+ .assertBody().is("{f:1}");
+
+ MockRestClient
+ .create(A.class)
+ .build()
+ .formPostPairs("/bean", "f", "1")
+ .accept("application/json+simple")
+ .run()
+ .assertBody().is("{f:1}");
}
//------------------------------------------------------------------------------------------------------------------
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 3cb1727..2de9827 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
@@ -172,7 +172,6 @@ import org.apache.http.client.CookieStore;
* <li class='jm'>{@link RestClient#options(Object) options(Object
url)}
* <li class='jm'>{@link RestClient#formPost(Object,Object)
formPost(Object url, Object body)}
* <li class='jm'>{@link RestClient#formPost(Object)
formPost(Object url)}
- * <li class='jm'>{@link
RestClient#formPost(Object,NameValuePairs) formPost(Object url, NameValuePairs
parameters)}
* <li class='jm'>{@link
RestClient#formPost(Object,NameValuePair...) formPost(Object url,
NameValuePair...parameters)}
* <li class='jm'>{@link
RestClient#formPostPairs(Object,Object...) formPost(Object url,
Object...parameters)}
* <li class='jm'>{@link
RestClient#request(HttpMethod,Object,Object) request(HttpMethod method, Object
url, Object body)}
@@ -2408,6 +2407,9 @@ public class RestClient extends BeanContext implements
HttpClient, Closeable, Re
* The object to serialize and transmit to the URL as the body of
the request.
* <ul class='spaced-list'>
* <li class='jc'>{@link HttpEntity} - Serialized directly.
+ * <li class='jc'>{@link NameValuePair} - URL-encoded as a
single name-value pair.
+ * <li class='jc'>{@link NameValuePair} array -
URL-encoded as name value pairs.
+ * <li class='jc'>{@link NameValuePairs} - URL-encoded as
name value pairs.
* <li class='jc'>{@link Object} - Converted to a {@link
SerializedHttpEntity} using {@link UrlEncodingSerializer} to serialize.
* </ul>
* @return
@@ -2416,8 +2418,21 @@ public class RestClient extends BeanContext implements
HttpClient, Closeable, Re
* @throws RestCallException If any authentication errors occurred.
*/
public RestRequest formPost(Object url, Object body) throws
RestCallException {
- return request("POST", url, true)
- .body(body instanceof HttpEntity ? body : new
SerializedHttpEntity(body, urlEncodingSerializer, null, null));
+ RestRequest req = request("POST", url, true);
+ try {
+ if (body instanceof NameValuePair)
+ return req.body(new
UrlEncodedFormEntity(AList.of((NameValuePair)body)));
+ if (body instanceof NameValuePair[])
+ return req.body(new
UrlEncodedFormEntity(Arrays.asList((NameValuePair[])body)));
+ if (body instanceof NameValuePairs)
+ return req.body(new
UrlEncodedFormEntity((NameValuePairs)body));
+ if (body instanceof HttpEntity)
+ return req.body(body);
+ return req.body(new SerializedHttpEntity(body,
urlEncodingSerializer, null, null));
+ } catch (UnsupportedEncodingException e) {
+ // Should never happen.
+ throw new RestCallException(e);
+ }
}
/**
@@ -2463,35 +2478,6 @@ public class RestClient extends BeanContext implements
HttpClient, Closeable, Re
* as a parsed object.
* @throws RestCallException If any authentication errors occurred.
*/
- public RestRequest formPost(Object url, NameValuePairs parameters)
throws RestCallException {
- try {
- return request("POST", url, true).body(new
UrlEncodedFormEntity(parameters));
- } catch (UnsupportedEncodingException e) {
- throw new RestCallException(e);
- }
- }
-
- /**
- * Perform a <c>POST</c> request with a content type of
<c>application/x-www-form-urlencoded</c>
- * against the specified URL.
- *
- * @param url
- * The URL of the remote REST resource.
- * Can be any of the following types:
- * <ul class='spaced-list'>
- * <li class='jc'>{@link URIBuilder}
- * <li class='jc'>{@link URI}
- * <li class='jc'>{@link URL}
- * <li class='jc'>{@link String}
- * <li class='jc'>{@link Object} - Converted to
<c>String</c> using <c>toString()</c>
- * </ul>
- * @param parameters
- * The parameters of the form post.
- * @return
- * A {@link RestRequest} object that can be further tailored
before executing the request and getting the response
- * as a parsed object.
- * @throws RestCallException If any authentication errors occurred.
- */
public RestRequest formPost(Object url, NameValuePair...parameters)
throws RestCallException {
return formPost(url, new NameValuePairs(parameters));
}
diff --git
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
index 829f521..ee30667 100644
---
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
+++
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
@@ -441,11 +441,6 @@ public class MockRestClient extends RestClient implements
HttpClientConnection {
}
@Override /* RestClient */
- public MockRestRequest formPost(Object url, NameValuePairs parameters)
throws RestCallException {
- return (MockRestRequest)super.formPost(url, parameters);
- }
-
- @Override /* RestClient */
public MockRestRequest formPost(Object url, NameValuePair...parameters)
throws RestCallException {
return (MockRestRequest)super.formPost(url, parameters);
}
diff --git
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClientBuilder.java
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClientBuilder.java
index 3455455..6347cc9 100644
---
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClientBuilder.java
+++
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClientBuilder.java
@@ -886,18 +886,36 @@ public class MockRestClientBuilder extends
RestClientBuilder {
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClientBuilder formData(String name, Supplier<?> value) {
+ super.formData(name, value);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClientBuilder formData(String name, Object value,
HttpPartSchema schema) {
super.formData(name, value, schema);
return this;
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClientBuilder formData(String name, Supplier<?> value,
HttpPartSchema schema) {
+ super.formData(name, value, schema);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClientBuilder formData(String name, Object value,
HttpPartSchema schema, HttpPartSerializer serializer) {
super.formData(name, value, schema, serializer);
return this;
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClientBuilder formData(String name, Supplier<?> value,
HttpPartSchema schema, HttpPartSerializer serializer) {
+ super.formData(name, value, schema, serializer);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClientBuilder formDataPairs(Object...pairs) {
super.formDataPairs(pairs);
return this;
@@ -928,18 +946,36 @@ public class MockRestClientBuilder extends
RestClientBuilder {
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClientBuilder header(String name, Supplier<?> value) {
+ super.header(name, value);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClientBuilder header(String name, Object value,
HttpPartSchema schema) {
super.header(name, value, schema);
return this;
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClientBuilder header(String name, Supplier<?> value,
HttpPartSchema schema) {
+ super.header(name, value, schema);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClientBuilder header(String name, Object value,
HttpPartSchema schema, HttpPartSerializer serializer) {
super.header(name, value, schema, serializer);
return this;
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClientBuilder header(String name, Supplier<?> value,
HttpPartSchema schema, HttpPartSerializer serializer) {
+ super.header(name, value, schema, serializer);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClientBuilder headerPairs(Object...pairs) {
super.headerPairs(pairs);
return this;
@@ -1302,18 +1338,36 @@ public class MockRestClientBuilder extends
RestClientBuilder {
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClientBuilder query(String name, Supplier<?> value) {
+ super.query(name, value);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClientBuilder query(String name, Object value,
HttpPartSchema schema) {
super.query(name, value, schema);
return this;
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClientBuilder query(String name, Supplier<?> value,
HttpPartSchema schema) {
+ super.query(name, value, schema);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClientBuilder query(String name, Object value,
HttpPartSchema schema, HttpPartSerializer serializer) {
super.query(name, value, schema, serializer);
return this;
}
@Override /* GENERATED - RestClientBuilder */
+ public MockRestClientBuilder query(String name, Supplier<?> value,
HttpPartSchema schema, HttpPartSerializer serializer) {
+ super.query(name, value, schema, serializer);
+ return this;
+ }
+
+ @Override /* GENERATED - RestClientBuilder */
public MockRestClientBuilder queryPairs(Object...pairs) {
super.queryPairs(pairs);
return this;