Repository: incubator-sentry
Updated Branches:
  refs/heads/master 86e18a10f -> 78eceb8fb


SENTRY-615: [Unit Test] Fix 
TestSentryWebServerWithKerberos#testPingWithUnauthorizedUser failed 
occasionally (Reviewed by Xiaomeng Huang)


Project: http://git-wip-us.apache.org/repos/asf/incubator-sentry/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-sentry/commit/78eceb8f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-sentry/tree/78eceb8f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-sentry/diff/78eceb8f

Branch: refs/heads/master
Commit: 78eceb8fbd7f7958bafdc4c4d00f814aea6c82fd
Parents: 86e18a1
Author: Sun Dapeng <[email protected]>
Authored: Fri Jan 23 16:14:07 2015 +0800
Committer: Sun Dapeng <[email protected]>
Committed: Fri Jan 23 16:15:12 2015 +0800

----------------------------------------------------------------------
 .../provider/db/service/thrift/SentryAuthFilter.java  |  2 +-
 .../thrift/TestSentryWebServerWithKerberos.java       | 14 +++++++++++---
 2 files changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/78eceb8f/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/thrift/SentryAuthFilter.java
----------------------------------------------------------------------
diff --git 
a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/thrift/SentryAuthFilter.java
 
b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/thrift/SentryAuthFilter.java
index 0da4903..311fbb5 100644
--- 
a/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/thrift/SentryAuthFilter.java
+++ 
b/sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/thrift/SentryAuthFilter.java
@@ -56,7 +56,7 @@ public class SentryAuthFilter extends AuthenticationFilter {
     LOG.debug("Authenticating user: " + userName + " from request.");
     if (!allowUsers.contains(userName)) {
       response.sendError(HttpServletResponse.SC_FORBIDDEN,
-          userName + " is unauthorized.");
+          userName + " is unauthorized. status code: " + 
HttpServletResponse.SC_FORBIDDEN);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-sentry/blob/78eceb8f/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryWebServerWithKerberos.java
----------------------------------------------------------------------
diff --git 
a/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryWebServerWithKerberos.java
 
b/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryWebServerWithKerberos.java
index 21c18b7..7997d6c 100644
--- 
a/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryWebServerWithKerberos.java
+++ 
b/sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryWebServerWithKerberos.java
@@ -31,16 +31,21 @@ import javax.security.auth.login.LoginContext;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.hadoop.security.authentication.client.AuthenticatedURL;
+import 
org.apache.hadoop.security.authentication.client.AuthenticationException;
 import org.apache.hadoop.security.authentication.client.KerberosAuthenticator;
 import org.apache.sentry.service.thrift.KerberosConfiguration;
 import org.apache.sentry.service.thrift.SentryServiceIntegrationBase;
 import org.junit.Assert;
 import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.Sets;
 
 public class TestSentryWebServerWithKerberos extends 
SentryServiceIntegrationBase {
 
+  private static Logger LOG = 
LoggerFactory.getLogger(TestSentryWebServerWithKerberos.class);
+
   @Override
   public void beforeSetup() throws Exception {
     webServerEnabled = true;
@@ -102,9 +107,12 @@ public class TestSentryWebServerWithKerberos extends 
SentryServiceIntegrationBas
         try {
           new AuthenticatedURL(new 
KerberosAuthenticator()).openConnection(url, new AuthenticatedURL.Token());
           fail("Here should fail.");
-        } catch (Exception e) {
-          String expectedError = "status: 403, message: user is unauthorized.";
-          Assert.assertTrue(e.getMessage().contains(expectedError));
+        } catch (AuthenticationException e) {
+          String expectedError = "status code: 403";
+          if (!e.getMessage().contains(expectedError)) {
+            LOG.error("UnexpectedError: " + e.getMessage(), e);
+            fail("UnexpectedError: " + e.getMessage());
+          }
         }
         return null;
       }

Reply via email to