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 <james.bog...@salesforce.com>
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();
                        }

Reply via email to