public virtual void TestBuildTokenServiceSockAddr() { SecurityUtil.SetTokenServiceUseIp(true); Assert.Equal("127.0.0.1:123", SecurityUtil.BuildTokenService(new IPEndPoint("LocalHost", 123)).ToString()); Assert.Equal("127.0.0.1:123", SecurityUtil.BuildTokenService(new IPEndPoint("127.0.0.1", 123)).ToString()); // what goes in, comes out Assert.Equal("127.0.0.1:123", SecurityUtil.BuildTokenService(NetUtils .CreateSocketAddr("127.0.0.1", 123)).ToString()); }
public virtual void TestBuildDTServiceName() { SecurityUtil.SetTokenServiceUseIp(true); Assert.Equal("127.0.0.1:123", SecurityUtil.BuildDTServiceName( URI.Create("test://LocalHost"), 123)); Assert.Equal("127.0.0.1:123", SecurityUtil.BuildDTServiceName( URI.Create("test://LocalHost:123"), 456)); Assert.Equal("127.0.0.1:123", SecurityUtil.BuildDTServiceName( URI.Create("test://127.0.0.1"), 123)); Assert.Equal("127.0.0.1:123", SecurityUtil.BuildDTServiceName( URI.Create("test://127.0.0.1:123"), 456)); }
// check: // 1) buildTokenService honors use_ip setting // 2) setTokenService & getService works // 3) getTokenServiceAddr decodes to the identical socket addr private void VerifyTokenService(IPEndPoint addr, string host, string ip, int port , bool useIp) { //LOG.info("address:"+addr+" host:"+host+" ip:"+ip+" port:"+port); SecurityUtil.SetTokenServiceUseIp(useIp); string serviceHost = useIp ? ip : StringUtils.ToLowerCase(host); Org.Apache.Hadoop.Security.Token.Token <object> token = new Org.Apache.Hadoop.Security.Token.Token <TokenIdentifier>(); Text service = new Text(serviceHost + ":" + port); Assert.Equal(service, SecurityUtil.BuildTokenService(addr)); SecurityUtil.SetTokenService(token, addr); Assert.Equal(service, token.GetService()); IPEndPoint serviceAddr = SecurityUtil.GetTokenServiceAddr(token); NUnit.Framework.Assert.IsNotNull(serviceAddr); VerifyValues(serviceAddr, serviceHost, ip, port); }