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 4fb6272 RestClient tests.
4fb6272 is described below
commit 4fb627253e92b21d152f7e1858ff937e313b30c1
Author: JamesBognar <[email protected]>
AuthorDate: Tue Jun 30 21:16:37 2020 -0400
RestClient tests.
---
.../rest/client2/RestClient_Logging_Test.java | 56 +++++++++++++++++++++-
.../apache/juneau/rest/client2/RestRequest.java | 2 +-
.../apache/juneau/rest/client2/RestResponse.java | 21 +++-----
.../rest/reshandlers/InputStreamHandler.java | 1 -
4 files changed, 63 insertions(+), 17 deletions(-)
diff --git
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Logging_Test.java
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Logging_Test.java
index 6f75d2d..644f455 100644
---
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Logging_Test.java
+++
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClient_Logging_Test.java
@@ -14,8 +14,10 @@ package org.apache.juneau.rest.client2;
import static org.junit.runners.MethodSorters.*;
+import java.io.*;
import java.util.logging.*;
+import org.apache.http.entity.*;
import org.apache.juneau.*;
import org.apache.juneau.http.annotation.*;
import org.apache.juneau.rest.*;
@@ -39,10 +41,19 @@ public class RestClient_Logging_Test {
@Rest
public static class A extends BasicRest {
- @RestMethod(path="/bean")
+ @RestMethod
public ABean postBean(@Body ABean b) {
return b;
}
+ @RestMethod
+ public InputStream postStream(@Body InputStream b,
org.apache.juneau.rest.RestResponse res) {
+ res.setHeader("Content-Encoding", "identity");
+ return b;
+ }
+ @RestMethod
+ public ABean getBean() {
+ return bean;
+ }
}
@Test
@@ -79,6 +90,45 @@ public class RestClient_Logging_Test {
"=== END
=======================================================================",
""
);
+ c.reset();
+
+
client().logRequests(DetailLevel.FULL,Level.SEVERE).logToConsole().logger(l).console(c).build().get("/bean").complete();
+ c.assertContents().is(
+ "",
+ "=== HTTP Call (outgoing)
======================================================",
+ "=== REQUEST ===",
+ "GET http://localhost/bean",
+ "---request headers---",
+ " Accept: application/json+simple",
+ "=== RESPONSE ===",
+ "HTTP/1.1 200 ",
+ "---response headers---",
+ " Content-Type: application/json",
+ "---response content---",
+ "{f:1}",
+ "=== END
=======================================================================",
+ ""
+ );
+ c.reset();
+
+
clientPlain().logRequests(DetailLevel.FULL,Level.SEVERE).logToConsole().logger(l).console(c).build().post("/stream",new
InputStreamEntity(new ByteArrayInputStream("foo".getBytes()))).complete();
+ c.assertContents().is(
+ "",
+ "=== HTTP Call (outgoing)
======================================================",
+ "=== REQUEST ===",
+ "POST http://localhost/stream",
+ "---request headers---",
+ "---request entity---",
+ "=== RESPONSE ===",
+ "HTTP/1.1 200 ",
+ "---response headers---",
+ " Content-Encoding: identity",
+ "---response content---",
+ "foo",
+ "=== END
=======================================================================",
+ ""
+ );
+ c.reset();
client().logRequests(DetailLevel.NONE,Level.SEVERE).logToConsole().logger(l).console(MockConsole.class).build().post("/bean",bean).complete();
}
@@ -179,4 +229,8 @@ public class RestClient_Logging_Test {
private static RestClientBuilder client() {
return MockRestClient.create(A.class).simpleJson();
}
+
+ private static RestClientBuilder clientPlain() {
+ return MockRestClient.create(A.class);
+ }
}
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 22aebfd..4ada3d8 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
@@ -3002,7 +3002,7 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
* @return The body of this request, or <jk>null</jk> if it doesn't
have a body.
*/
public HttpEntity getHttpEntity() {
- return (request instanceof HttpEntityEnclosingRequestBase ?
((HttpEntityEnclosingRequestBase)request).getEntity() : null);
+ return hasHttpEntity() ?
((HttpEntityEnclosingRequestBase)request).getEntity() : null;
}
/**
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java
index 3898321..cf2ca91 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponse.java
@@ -985,19 +985,13 @@ public class RestResponse implements HttpResponse {
if (request.hasHttpEntity()) {
sb.append("\n---request entity---");
HttpEntity e = request.getHttpEntity();
- if (e == null)
- sb.append("\nEntity is null");
- else {
- if (e.getContentType() != null)
-
sb.append("\n\t").append(e.getContentType());
- if (e.getContentEncoding() !=
null)
-
sb.append("\n\t").append(e.getContentEncoding());
- if (e.isRepeatable()) {
- try {
-
sb.append("\n---request content---\n").append(EntityUtils.toString(e));
- } catch (Exception ex) {
- throw new
RuntimeException(ex);
- }
+ if (e.getContentType() != null)
+
sb.append("\n\t").append(e.getContentType());
+ if (e.isRepeatable()) {
+ try {
+ sb.append("\n---request
content---\n").append(EntityUtils.toString(e));
+ } catch (Exception ex) {
+ sb.append("\n---request
content exception---\n").append(ex.getMessage());
}
}
}
@@ -1028,5 +1022,4 @@ public class RestResponse implements HttpResponse {
HttpResponse asHttpResponse() {
return response;
}
-
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/InputStreamHandler.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/InputStreamHandler.java
index 7e835dd..c13ea16 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/InputStreamHandler.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/InputStreamHandler.java
@@ -36,7 +36,6 @@ public final class InputStreamHandler implements
ResponseHandler {
@Override /* ResponseHandler */
public boolean handle(RestRequest req, RestResponse res) throws
IOException, NotAcceptable, HttpException {
if (res.isOutputType(InputStream.class)) {
- res.setHeader("Content-Type", res.getContentType());
try (OutputStream os = res.getNegotiatedOutputStream())
{
IOPipe.create(res.getOutput(InputStream.class),
os).run();
}