当前位置: 首页>>代码示例>>Java>>正文


Java ClientToAMTokenIdentifier.getBytes方法代码示例

本文整理汇总了Java中org.apache.hadoop.yarn.security.client.ClientToAMTokenIdentifier.getBytes方法的典型用法代码示例。如果您正苦于以下问题:Java ClientToAMTokenIdentifier.getBytes方法的具体用法?Java ClientToAMTokenIdentifier.getBytes怎么用?Java ClientToAMTokenIdentifier.getBytes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.yarn.security.client.ClientToAMTokenIdentifier的用法示例。


在下文中一共展示了ClientToAMTokenIdentifier.getBytes方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testClientToAMTokenIdentifier

import org.apache.hadoop.yarn.security.client.ClientToAMTokenIdentifier; //导入方法依赖的package包/类
@Test
public void testClientToAMTokenIdentifier() throws IOException {
  ApplicationAttemptId appAttemptId = ApplicationAttemptId.newInstance(
      ApplicationId.newInstance(1, 1), 1);
  
  String clientName = "user";

  ClientToAMTokenIdentifier token = new ClientToAMTokenIdentifier(
      appAttemptId, clientName);
  
  ClientToAMTokenIdentifier anotherToken = new ClientToAMTokenIdentifier();
  
  byte[] tokenContent = token.getBytes();
  DataInputBuffer dib = new DataInputBuffer();
  dib.reset(tokenContent, tokenContent.length);
  anotherToken.readFields(dib);
      
  // verify the whole record equals with original record
  Assert.assertEquals("Token is not the same after serialization " +
      "and deserialization.", token, anotherToken);
      
  Assert.assertEquals("ApplicationAttemptId from proto is not the same with original token",
      anotherToken.getApplicationAttemptID(), appAttemptId);
  
  Assert.assertEquals("clientName from proto is not the same with original token",
      anotherToken.getClientName(), clientName);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:28,代码来源:TestYARNTokenIdentifier.java

示例2: verifyTamperedToken

import org.apache.hadoop.yarn.security.client.ClientToAMTokenIdentifier; //导入方法依赖的package包/类
private void verifyTamperedToken(final Configuration conf, final CustomAM am,
    Token<ClientToAMTokenIdentifier> token, UserGroupInformation ugi,
    ClientToAMTokenIdentifier maliciousID) {
  Token<ClientToAMTokenIdentifier> maliciousToken =
      new Token<ClientToAMTokenIdentifier>(maliciousID.getBytes(),
        token.getPassword(), token.getKind(),
        token.getService());
  ugi.addToken(maliciousToken);

  try {
    ugi.doAs(new PrivilegedExceptionAction<Void>()  {
      @Override
      public Void run() throws Exception {
        try {
          CustomProtocol client =
              (CustomProtocol) RPC.getProxy(CustomProtocol.class, 1L,
                am.address, conf);
          client.ping();
          fail("Connection initiation with illegally modified "
              + "tokens is expected to fail.");
          return null;
        } catch (YarnException ex) {
          fail("Cannot get a YARN remote exception as "
              + "it will indicate RPC success");
          throw ex;
        }
      }
    });
  } catch (Exception e) {
    Assert.assertEquals(RemoteException.class.getName(), e.getClass()
        .getName());
    e = ((RemoteException)e).unwrapRemoteException();
    Assert
      .assertEquals(SaslException.class
        .getCanonicalName(), e.getClass().getCanonicalName());
    Assert.assertTrue(e
      .getMessage()
      .contains(
        "DIGEST-MD5: digest response format violation. "
            + "Mismatched response."));
    Assert.assertFalse(am.pinged);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:44,代码来源:TestClientToAMTokens.java


注:本文中的org.apache.hadoop.yarn.security.client.ClientToAMTokenIdentifier.getBytes方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。