From a446949f568ed0269741f258bb50b3b4f95db142 Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Mon, 7 Jan 2019 13:24:01 -0500 Subject: [PATCH] HADOOP-16031. Fixed TestSecureLogins unit test. Contributed by Akira Ajisaka (cherry picked from commit bba76b6f31d5452fe048dcc6853c12a1894024fe) --- .../hadoop/registry/secure/TestSecureLogins.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/test/java/org/apache/hadoop/registry/secure/TestSecureLogins.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/test/java/org/apache/hadoop/registry/secure/TestSecureLogins.java index d66bb793b9f..a61e6a20f50 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/test/java/org/apache/hadoop/registry/secure/TestSecureLogins.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/test/java/org/apache/hadoop/registry/secure/TestSecureLogins.java @@ -42,6 +42,10 @@ import org.apache.hadoop.security.authentication.util.KerberosName; import org.apache.hadoop.security.authentication.util.KerberosUtil; import org.apache.hadoop.registry.client.impl.zk.RegistrySecurity; import org.apache.hadoop.registry.client.impl.zk.ZookeeperConfigOptions; + +import static org.apache.hadoop.security.authentication.util.KerberosName.DEFAULT_MECHANISM; +import static org.apache.hadoop.security.authentication.util.KerberosName.MECHANISM_HADOOP; +import static org.apache.hadoop.security.authentication.util.KerberosName.MECHANISM_MIT; import static org.apache.hadoop.util.PlatformName.IBM_JAVA; import org.junit.Test; @@ -195,12 +199,15 @@ public class TestSecureLogins extends AbstractSecureRegistryTest { @Test public void testValidKerberosName() throws Throwable { - + KerberosName.setRuleMechanism(MECHANISM_HADOOP); + new HadoopKerberosName(ZOOKEEPER).getShortName(); + // MECHANISM_MIT allows '/' and '@' in username + KerberosName.setRuleMechanism(MECHANISM_MIT); new HadoopKerberosName(ZOOKEEPER).getShortName(); new HadoopKerberosName(ZOOKEEPER_LOCALHOST).getShortName(); new HadoopKerberosName(ZOOKEEPER_REALM).getShortName(); - // standard rules don't pick this up - // new HadoopKerberosName(ZOOKEEPER_LOCALHOST_REALM).getShortName(); + new HadoopKerberosName(ZOOKEEPER_LOCALHOST_REALM).getShortName(); + KerberosName.setRuleMechanism(DEFAULT_MECHANISM); } @Test