/// <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); } }
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()); }