Example #1
0
 /// <exception cref="System.Exception"/>
 private void TokenGenerationAndVerification(BlockTokenSecretManager master, BlockTokenSecretManager
                                             slave)
 {
     // single-mode tokens
     foreach (BlockTokenSecretManager.AccessMode mode in BlockTokenSecretManager.AccessMode
              .Values())
     {
         // generated by master
         Org.Apache.Hadoop.Security.Token.Token <BlockTokenIdentifier> token1 = master.GenerateToken
                                                                                    (block1, EnumSet.Of(mode));
         master.CheckAccess(token1, null, block1, mode);
         slave.CheckAccess(token1, null, block1, mode);
         // generated by slave
         Org.Apache.Hadoop.Security.Token.Token <BlockTokenIdentifier> token2 = slave.GenerateToken
                                                                                    (block2, EnumSet.Of(mode));
         master.CheckAccess(token2, null, block2, mode);
         slave.CheckAccess(token2, null, block2, mode);
     }
     // multi-mode tokens
     Org.Apache.Hadoop.Security.Token.Token <BlockTokenIdentifier> mtoken = master.GenerateToken
                                                                                (block3, EnumSet.AllOf <BlockTokenSecretManager.AccessMode>());
     foreach (BlockTokenSecretManager.AccessMode mode_1 in BlockTokenSecretManager.AccessMode
              .Values())
     {
         master.CheckAccess(mtoken, null, block3, mode_1);
         slave.CheckAccess(mtoken, null, block3, mode_1);
     }
 }
Example #2
0
            Answer(InvocationOnMock invocation)
            {
                object[] args = invocation.GetArguments();
                NUnit.Framework.Assert.AreEqual(2, args.Length);
                ClientDatanodeProtocolProtos.GetReplicaVisibleLengthRequestProto req = (ClientDatanodeProtocolProtos.GetReplicaVisibleLengthRequestProto
                                                                                        )args[1];
                ICollection <TokenIdentifier> tokenIds = UserGroupInformation.GetCurrentUser().GetTokenIdentifiers
                                                             ();

                NUnit.Framework.Assert.AreEqual("Only one BlockTokenIdentifier expected", 1, tokenIds
                                                .Count);
                long result = 0;

                foreach (TokenIdentifier tokenId in tokenIds)
                {
                    BlockTokenIdentifier id = (BlockTokenIdentifier)tokenId;
                    Log.Info("Got: " + id.ToString());
                    NUnit.Framework.Assert.IsTrue("Received BlockTokenIdentifier is wrong", ident.Equals
                                                      (id));
                    sm.CheckAccess(id, null, PBHelper.Convert(req.GetBlock()), BlockTokenSecretManager.AccessMode
                                   .Write);
                    result = id.GetBlockId();
                }
                return((ClientDatanodeProtocolProtos.GetReplicaVisibleLengthResponseProto)ClientDatanodeProtocolProtos.GetReplicaVisibleLengthResponseProto
                       .NewBuilder().SetLength(result).Build());
            }