Exemple #1
0
        /// <exception cref="System.Exception"/>
        private void TestGetToken(string renewer, Text expectedTokenKind)
        {
            DelegationTokenAuthenticator.DelegationTokenOperation op = DelegationTokenAuthenticator.DelegationTokenOperation
                                                                       .Getdelegationtoken;
            HttpServletRequest  request  = Org.Mockito.Mockito.Mock <HttpServletRequest>();
            HttpServletResponse response = Org.Mockito.Mockito.Mock <HttpServletResponse>();

            Org.Mockito.Mockito.When(request.GetQueryString()).ThenReturn(DelegationTokenAuthenticator
                                                                          .OpParam + "=" + op.ToString());
            Org.Mockito.Mockito.When(request.GetMethod()).ThenReturn(op.GetHttpMethod());
            AuthenticationToken token = Org.Mockito.Mockito.Mock <AuthenticationToken>();

            Org.Mockito.Mockito.When(token.GetUserName()).ThenReturn("user");
            Org.Mockito.Mockito.When(response.GetWriter()).ThenReturn(new PrintWriter(new StringWriter
                                                                                          ()));
            NUnit.Framework.Assert.IsFalse(handler.ManagementOperation(token, request, response
                                                                       ));
            Org.Mockito.Mockito.When(request.GetQueryString()).ThenReturn(DelegationTokenAuthenticator
                                                                          .OpParam + "=" + op.ToString() + "&" + DelegationTokenAuthenticator.RenewerParam
                                                                          + "=" + renewer);
            Org.Mockito.Mockito.Reset(response);
            Org.Mockito.Mockito.Reset(token);
            Org.Mockito.Mockito.When(token.GetUserName()).ThenReturn("user");
            StringWriter writer  = new StringWriter();
            PrintWriter  pwriter = new PrintWriter(writer);

            Org.Mockito.Mockito.When(response.GetWriter()).ThenReturn(pwriter);
            NUnit.Framework.Assert.IsFalse(handler.ManagementOperation(token, request, response
                                                                       ));
            if (renewer == null)
            {
                Org.Mockito.Mockito.Verify(token).GetUserName();
            }
            else
            {
                Org.Mockito.Mockito.Verify(token).GetUserName();
            }
            Org.Mockito.Mockito.Verify(response).SetStatus(HttpServletResponse.ScOk);
            Org.Mockito.Mockito.Verify(response).SetContentType(MediaType.ApplicationJson);
            pwriter.Close();
            string responseOutput = writer.ToString();
            string tokenLabel     = DelegationTokenAuthenticator.DelegationTokenJson;

            Assert.True(responseOutput.Contains(tokenLabel));
            Assert.True(responseOutput.Contains(DelegationTokenAuthenticator
                                                .DelegationTokenUrlStringJson));
            ObjectMapper jsonMapper = new ObjectMapper();
            IDictionary  json       = jsonMapper.ReadValue <IDictionary>(responseOutput);

            json = (IDictionary)json[tokenLabel];
            string tokenStr;

            tokenStr = (string)json[DelegationTokenAuthenticator.DelegationTokenUrlStringJson
                       ];
            Org.Apache.Hadoop.Security.Token.Token <DelegationTokenIdentifier> dt = new Org.Apache.Hadoop.Security.Token.Token
                                                                                    <DelegationTokenIdentifier>();
            dt.DecodeFromUrlString(tokenStr);
            handler.GetTokenManager().VerifyToken(dt);
            Assert.Equal(expectedTokenKind, dt.GetKind());
        }
Exemple #2
0
 /// <summary>Convert a Json map to a Token.</summary>
 /// <exception cref="System.IO.IOException"/>
 public static Org.Apache.Hadoop.Security.Token.Token <TokenIdentifier> ToToken <_T0
                                                                                 >(IDictionary <_T0> m)
 {
     if (m == null)
     {
         return(null);
     }
     Org.Apache.Hadoop.Security.Token.Token <DelegationTokenIdentifier> token = new Org.Apache.Hadoop.Security.Token.Token
                                                                                <DelegationTokenIdentifier>();
     token.DecodeFromUrlString((string)m["urlString"]);
     return(token);
 }
                                                               > GetDelegationToken(Uri url, AuthenticatedURL.Token token, string renewer, string
                                                                                    doAsUser)
        {
            IDictionary json = DoDelegationTokenOperation(url, token, DelegationTokenAuthenticator.DelegationTokenOperation
                                                          .Getdelegationtoken, renewer, null, true, doAsUser);

            json = (IDictionary)json[DelegationTokenJson];
            string tokenStr = (string)json[DelegationTokenUrlStringJson];

            Org.Apache.Hadoop.Security.Token.Token <AbstractDelegationTokenIdentifier> dToken =
                new Org.Apache.Hadoop.Security.Token.Token <AbstractDelegationTokenIdentifier>();
            dToken.DecodeFromUrlString(tokenStr);
            IPEndPoint service = new IPEndPoint(url.GetHost(), url.Port);

            SecurityUtil.SetTokenService(dToken, service);
            return(dToken);
        }