Repository: knox
Updated Branches:
  refs/heads/master ed75fcb0c -> 71e33f02f


KNOX-1558 - KnoxToken service returns wrong content type and content length 
values


Project: http://git-wip-us.apache.org/repos/asf/knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/71e33f02
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/71e33f02
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/71e33f02

Branch: refs/heads/master
Commit: 71e33f02fe717823f2c250028b3f19fb29249b43
Parents: ed75fcb
Author: pzampino <[email protected]>
Authored: Tue Nov 6 16:43:55 2018 -0500
Committer: pzampino <[email protected]>
Committed: Tue Nov 6 16:43:55 2018 -0500

----------------------------------------------------------------------
 .../service/knoxtoken/TokenResource.java        |  10 +-
 .../knoxtoken/TokenServiceResourceTest.java     | 109 ++++---------------
 2 files changed, 22 insertions(+), 97 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/knox/blob/71e33f02/gateway-service-knoxtoken/src/main/java/org/apache/knox/gateway/service/knoxtoken/TokenResource.java
----------------------------------------------------------------------
diff --git 
a/gateway-service-knoxtoken/src/main/java/org/apache/knox/gateway/service/knoxtoken/TokenResource.java
 
b/gateway-service-knoxtoken/src/main/java/org/apache/knox/gateway/service/knoxtoken/TokenResource.java
index f0574f8..24e441c 100644
--- 
a/gateway-service-knoxtoken/src/main/java/org/apache/knox/gateway/service/knoxtoken/TokenResource.java
+++ 
b/gateway-service-knoxtoken/src/main/java/org/apache/knox/gateway/service/knoxtoken/TokenResource.java
@@ -17,7 +17,6 @@
  */
 package org.apache.knox.gateway.service.knoxtoken;
 
-import java.io.IOException;
 import java.security.Principal;
 import java.security.cert.X509Certificate;
 import java.util.ArrayList;
@@ -28,7 +27,6 @@ import java.util.List;
 import javax.annotation.PostConstruct;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import javax.ws.rs.GET;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
@@ -74,9 +72,6 @@ public class TokenResource {
   HttpServletRequest request;
 
   @Context
-  HttpServletResponse response;
-
-  @Context
   ServletContext context;
 
   @PostConstruct
@@ -193,14 +188,13 @@ public class TokenResource {
 
         String jsonResponse = JsonUtils.renderAsJsonString(map);
 
-        response.getWriter().write(jsonResponse);
-        return Response.ok().build();
+        return Response.ok().entity(jsonResponse).build();
       }
       else {
         return Response.serverError().build();
       }
     }
-    catch (TokenServiceException | IOException e) {
+    catch (TokenServiceException e) {
       log.unableToIssueToken(e);
     }
     return Response.ok().entity("{ \"Unable to acquire token.\" }").build();

http://git-wip-us.apache.org/repos/asf/knox/blob/71e33f02/gateway-service-knoxtoken/src/test/java/org/apache/knox/gateway/service/knoxtoken/TokenServiceResourceTest.java
----------------------------------------------------------------------
diff --git 
a/gateway-service-knoxtoken/src/test/java/org/apache/knox/gateway/service/knoxtoken/TokenServiceResourceTest.java
 
b/gateway-service-knoxtoken/src/test/java/org/apache/knox/gateway/service/knoxtoken/TokenServiceResourceTest.java
index ffea408..decef70 100644
--- 
a/gateway-service-knoxtoken/src/test/java/org/apache/knox/gateway/service/knoxtoken/TokenServiceResourceTest.java
+++ 
b/gateway-service-knoxtoken/src/test/java/org/apache/knox/gateway/service/knoxtoken/TokenServiceResourceTest.java
@@ -35,10 +35,7 @@ import org.junit.Test;
 import javax.security.auth.Subject;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import javax.ws.rs.core.Response;
-import java.io.PrintWriter;
-import java.io.StringWriter;
 import java.security.KeyPair;
 import java.security.KeyPairGenerator;
 import java.security.NoSuchAlgorithmException;
@@ -115,16 +112,10 @@ public class TokenServiceResourceTest {
     JWTokenAuthority authority = new TestJWTokenAuthority(publicKey, 
privateKey);
     
EasyMock.expect(services.getService(GatewayServices.TOKEN_SERVICE)).andReturn(authority);
 
-    StringWriter writer = new StringWriter();
-    PrintWriter printWriter = new PrintWriter(writer);
-    HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
-    EasyMock.expect(response.getWriter()).andReturn(printWriter);
-
-    EasyMock.replay(principal, services, context, request, response);
+    EasyMock.replay(principal, services, context, request);
 
     TokenResource tr = new TokenResource();
     tr.request = request;
-    tr.response = response;
 
     // Issue a token
     Response retResponse = tr.doGet();
@@ -132,7 +123,7 @@ public class TokenServiceResourceTest {
     assertEquals(200, retResponse.getStatus());
 
     // Parse the response
-    String retString = writer.toString();
+    String retString = retResponse.getEntity().toString();
     String accessToken = getTagValue(retString, "access_token");
     assertNotNull(accessToken);
     String expiry = getTagValue(retString, "expires_in");
@@ -165,16 +156,10 @@ public class TokenServiceResourceTest {
     JWTokenAuthority authority = new TestJWTokenAuthority(publicKey, 
privateKey);
     
EasyMock.expect(services.getService(GatewayServices.TOKEN_SERVICE)).andReturn(authority);
 
-    StringWriter writer = new StringWriter();
-    PrintWriter printWriter = new PrintWriter(writer);
-    HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
-    EasyMock.expect(response.getWriter()).andReturn(printWriter);
-
-    EasyMock.replay(principal, services, context, request, response);
+    EasyMock.replay(principal, services, context, request);
 
     TokenResource tr = new TokenResource();
     tr.request = request;
-    tr.response = response;
     tr.context = context;
     tr.init();
 
@@ -184,7 +169,7 @@ public class TokenServiceResourceTest {
     assertEquals(200, retResponse.getStatus());
 
     // Parse the response
-    String retString = writer.toString();
+    String retString = retResponse.getEntity().toString();
     String accessToken = getTagValue(retString, "access_token");
     assertNotNull(accessToken);
     String expiry = getTagValue(retString, "expires_in");
@@ -223,16 +208,10 @@ public class TokenServiceResourceTest {
     JWTokenAuthority authority = new TestJWTokenAuthority(publicKey, 
privateKey);
     
EasyMock.expect(services.getService(GatewayServices.TOKEN_SERVICE)).andReturn(authority);
 
-    StringWriter writer = new StringWriter();
-    PrintWriter printWriter = new PrintWriter(writer);
-    HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
-    EasyMock.expect(response.getWriter()).andReturn(printWriter);
-
-    EasyMock.replay(principal, services, context, request, response);
+    EasyMock.replay(principal, services, context, request);
 
     TokenResource tr = new TokenResource();
     tr.request = request;
-    tr.response = response;
     tr.context = context;
     tr.init();
 
@@ -242,7 +221,7 @@ public class TokenServiceResourceTest {
     assertEquals(200, retResponse.getStatus());
 
     // Parse the response
-    String retString = writer.toString();
+    String retString = retResponse.getEntity().toString();
     String accessToken = getTagValue(retString, "access_token");
     assertNotNull(accessToken);
     String expiry = getTagValue(retString, "expires_in");
@@ -286,16 +265,10 @@ public class TokenServiceResourceTest {
     JWTokenAuthority authority = new TestJWTokenAuthority(publicKey, 
privateKey);
     
EasyMock.expect(services.getService(GatewayServices.TOKEN_SERVICE)).andReturn(authority);
 
-    StringWriter writer = new StringWriter();
-    PrintWriter printWriter = new PrintWriter(writer);
-    HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
-    EasyMock.expect(response.getWriter()).andReturn(printWriter);
-
-    EasyMock.replay(principal, services, context, request, response, 
trustedCertMock);
+    EasyMock.replay(principal, services, context, request, trustedCertMock);
 
     TokenResource tr = new TokenResource();
     tr.request = request;
-    tr.response = response;
     tr.context = context;
     tr.init();
 
@@ -305,7 +278,7 @@ public class TokenServiceResourceTest {
     assertEquals(200, retResponse.getStatus());
 
     // Parse the response
-    String retString = writer.toString();
+    String retString = retResponse.getEntity().toString();
     String accessToken = getTagValue(retString, "access_token");
     assertNotNull(accessToken);
     String expiry = getTagValue(retString, "expires_in");
@@ -343,16 +316,10 @@ public class TokenServiceResourceTest {
     JWTokenAuthority authority = new TestJWTokenAuthority(publicKey, 
privateKey);
     
EasyMock.expect(services.getService(GatewayServices.TOKEN_SERVICE)).andReturn(authority);
 
-    StringWriter writer = new StringWriter();
-    PrintWriter printWriter = new PrintWriter(writer);
-    HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
-    EasyMock.expect(response.getWriter()).andReturn(printWriter);
-
-    EasyMock.replay(principal, services, context, request, response, 
trustedCertMock);
+    EasyMock.replay(principal, services, context, request, trustedCertMock);
 
     TokenResource tr = new TokenResource();
     tr.request = request;
-    tr.response = response;
     tr.context = context;
     tr.init();
 
@@ -383,16 +350,10 @@ public class TokenServiceResourceTest {
     JWTokenAuthority authority = new TestJWTokenAuthority(publicKey, 
privateKey);
     
EasyMock.expect(services.getService(GatewayServices.TOKEN_SERVICE)).andReturn(authority);
 
-    StringWriter writer = new StringWriter();
-    PrintWriter printWriter = new PrintWriter(writer);
-    HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
-    EasyMock.expect(response.getWriter()).andReturn(printWriter);
-
-    EasyMock.replay(principal, services, context, request, response);
+    EasyMock.replay(principal, services, context, request);
 
     TokenResource tr = new TokenResource();
     tr.request = request;
-    tr.response = response;
     tr.context = context;
     tr.init();
 
@@ -423,16 +384,10 @@ public class TokenServiceResourceTest {
     JWTokenAuthority authority = new TestJWTokenAuthority(publicKey, 
privateKey);
     
EasyMock.expect(services.getService(GatewayServices.TOKEN_SERVICE)).andReturn(authority);
 
-    StringWriter writer = new StringWriter();
-    PrintWriter printWriter = new PrintWriter(writer);
-    HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
-    EasyMock.expect(response.getWriter()).andReturn(printWriter);
-
-    EasyMock.replay(principal, services, context, request, response);
+    EasyMock.replay(principal, services, context, request);
 
     TokenResource tr = new TokenResource();
     tr.request = request;
-    tr.response = response;
     tr.context = context;
     tr.init();
 
@@ -442,7 +397,7 @@ public class TokenServiceResourceTest {
     assertEquals(200, retResponse.getStatus());
 
     // Parse the response
-    String retString = writer.toString();
+    String retString = retResponse.getEntity().toString();
     String accessToken = getTagValue(retString, "access_token");
     assertNotNull(accessToken);
     String expiry = getTagValue(retString, "expires_in");
@@ -475,16 +430,10 @@ public class TokenServiceResourceTest {
     JWTokenAuthority authority = new TestJWTokenAuthority(publicKey, 
privateKey);
     
EasyMock.expect(services.getService(GatewayServices.TOKEN_SERVICE)).andReturn(authority);
 
-    StringWriter writer = new StringWriter();
-    PrintWriter printWriter = new PrintWriter(writer);
-    HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
-    EasyMock.expect(response.getWriter()).andReturn(printWriter);
-
-    EasyMock.replay(principal, services, context, request, response);
+    EasyMock.replay(principal, services, context, request);
 
     TokenResource tr = new TokenResource();
     tr.request = request;
-    tr.response = response;
     tr.context = context;
     tr.init();
 
@@ -494,7 +443,7 @@ public class TokenServiceResourceTest {
     assertEquals(200, retResponse.getStatus());
 
     // Parse the response
-    String retString = writer.toString();
+    String retString = retResponse.getEntity().toString();
     String accessToken = getTagValue(retString, "access_token");
     assertNotNull(accessToken);
     String expiry = getTagValue(retString, "expires_in");
@@ -531,16 +480,10 @@ public class TokenServiceResourceTest {
     JWTokenAuthority authority = new TestJWTokenAuthority(publicKey, 
privateKey);
     
EasyMock.expect(services.getService(GatewayServices.TOKEN_SERVICE)).andReturn(authority);
 
-    StringWriter writer = new StringWriter();
-    PrintWriter printWriter = new PrintWriter(writer);
-    HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
-    EasyMock.expect(response.getWriter()).andReturn(printWriter);
-
-    EasyMock.replay(principal, services, context, request, response);
+    EasyMock.replay(principal, services, context, request);
 
     TokenResource tr = new TokenResource();
     tr.request = request;
-    tr.response = response;
     tr.context = context;
     tr.init();
 
@@ -550,7 +493,7 @@ public class TokenServiceResourceTest {
     assertEquals(200, retResponse.getStatus());
 
     // Parse the response
-    String retString = writer.toString();
+    String retString = retResponse.getEntity().toString();
     String accessToken = getTagValue(retString, "access_token");
     assertNotNull(accessToken);
     String expiry = getTagValue(retString, "expires_in");
@@ -588,16 +531,10 @@ public class TokenServiceResourceTest {
     JWTokenAuthority authority = new TestJWTokenAuthority(publicKey, 
privateKey);
     
EasyMock.expect(services.getService(GatewayServices.TOKEN_SERVICE)).andReturn(authority);
 
-    StringWriter writer = new StringWriter();
-    PrintWriter printWriter = new PrintWriter(writer);
-    HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
-    EasyMock.expect(response.getWriter()).andReturn(printWriter);
-
-    EasyMock.replay(principal, services, context, request, response);
+    EasyMock.replay(principal, services, context, request);
 
     TokenResource tr = new TokenResource();
     tr.request = request;
-    tr.response = response;
     tr.context = context;
     tr.init();
 
@@ -607,7 +544,7 @@ public class TokenServiceResourceTest {
     assertEquals(200, retResponse.getStatus());
 
     // Parse the response
-    String retString = writer.toString();
+    String retString = retResponse.getEntity().toString();
     String accessToken = getTagValue(retString, "access_token");
     assertNotNull(accessToken);
     String expiry = getTagValue(retString, "expires_in");
@@ -644,16 +581,10 @@ public class TokenServiceResourceTest {
     JWTokenAuthority authority = new TestJWTokenAuthority(publicKey, 
privateKey);
     
EasyMock.expect(services.getService(GatewayServices.TOKEN_SERVICE)).andReturn(authority);
 
-    StringWriter writer = new StringWriter();
-    PrintWriter printWriter = new PrintWriter(writer);
-    HttpServletResponse response = 
EasyMock.createNiceMock(HttpServletResponse.class);
-    EasyMock.expect(response.getWriter()).andReturn(printWriter);
-
-    EasyMock.replay(principal, services, context, request, response);
+    EasyMock.replay(principal, services, context, request);
 
     TokenResource tr = new TokenResource();
     tr.request = request;
-    tr.response = response;
     tr.context = context;
     tr.init();
 
@@ -663,7 +594,7 @@ public class TokenServiceResourceTest {
     assertEquals(200, retResponse.getStatus());
 
     // Parse the response
-    String retString = writer.toString();
+    String retString = retResponse.getEntity().toString();
     String accessToken = getTagValue(retString, "access_token");
     assertNotNull(accessToken);
     String expiry = getTagValue(retString, "expires_in");

Reply via email to