You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by km...@apache.org on 2015/11/23 21:44:06 UTC

knox git commit: KNOX-632: Oozie dispatch failing for secure clusters. Fix tests.

Repository: knox
Updated Branches:
  refs/heads/master 5a08e3742 -> 751b14a25


KNOX-632: Oozie dispatch failing for secure clusters. Fix tests.


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

Branch: refs/heads/master
Commit: 751b14a25f994370a318bb990d01704bd10dcca6
Parents: 5a08e37
Author: Kevin Minder <ke...@hortonworks.com>
Authored: Mon Nov 23 15:44:02 2015 -0500
Committer: Kevin Minder <ke...@hortonworks.com>
Committed: Mon Nov 23 15:44:02 2015 -0500

----------------------------------------------------------------------
 .../org/apache/hadoop/gateway/dispatch/DefaultDispatch.java    | 2 +-
 .../apache/hadoop/gateway/dispatch/DefaultDispatchTest.java    | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/knox/blob/751b14a2/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
----------------------------------------------------------------------
diff --git a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
index a71d56a..e17bd36 100644
--- a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
+++ b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/DefaultDispatch.java
@@ -193,7 +193,7 @@ public class DefaultDispatch extends AbstractGatewayDispatch {
       }
       GatewayConfig config =
          (GatewayConfig)request.getServletContext().getAttribute( GatewayConfig.GATEWAY_CONFIG_ATTRIBUTE );
-      if( config.isHadoopKerberosSecured() ) {
+      if( config != null && config.isHadoopKerberosSecured() ) {
          entity = new PartiallyRepeatableHttpEntity( entity, config.getHttpServerRequestBuffer() );
       }
 

http://git-wip-us.apache.org/repos/asf/knox/blob/751b14a2/gateway-spi/src/test/java/org/apache/hadoop/gateway/dispatch/DefaultDispatchTest.java
----------------------------------------------------------------------
diff --git a/gateway-spi/src/test/java/org/apache/hadoop/gateway/dispatch/DefaultDispatchTest.java b/gateway-spi/src/test/java/org/apache/hadoop/gateway/dispatch/DefaultDispatchTest.java
index 2c09a5d..1e66cc1 100644
--- a/gateway-spi/src/test/java/org/apache/hadoop/gateway/dispatch/DefaultDispatchTest.java
+++ b/gateway-spi/src/test/java/org/apache/hadoop/gateway/dispatch/DefaultDispatchTest.java
@@ -30,6 +30,7 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.UnknownHostException;
 
+import javax.servlet.ServletContext;
 import javax.servlet.ServletInputStream;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
@@ -91,11 +92,14 @@ public class DefaultDispatchTest {
   public void testCallToSecureClusterWithDelegationToken() throws URISyntaxException, IOException {
     System.setProperty(GatewayConfig.HADOOP_KERBEROS_SECURED, "true");
     DefaultDispatch defaultDispatch = new DefaultDispatch();
+    ServletContext servletContext = EasyMock.createNiceMock( ServletContext.class );
+    EasyMock.expect( servletContext.getAttribute( GatewayConfig.GATEWAY_CONFIG_ATTRIBUTE ) ).andReturn( null ).anyTimes();
     ServletInputStream inputStream = EasyMock.createNiceMock( ServletInputStream.class );
     HttpServletRequest inboundRequest = EasyMock.createNiceMock( HttpServletRequest.class );
     EasyMock.expect(inboundRequest.getQueryString()).andReturn( "delegation=123").anyTimes();
     EasyMock.expect(inboundRequest.getInputStream()).andReturn( inputStream).anyTimes();
-    EasyMock.replay( inboundRequest );
+    EasyMock.expect(inboundRequest.getServletContext()).andReturn( servletContext ).anyTimes();
+    EasyMock.replay( servletContext, inboundRequest );
     HttpEntity httpEntity = defaultDispatch.createRequestEntity(inboundRequest);
     System.setProperty(GatewayConfig.HADOOP_KERBEROS_SECURED, "false");
     assertFalse("buffering in the presence of delegation token",