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; }
