HADOOP-16031. Fixed TestSecureLogins unit test. Contributed by Akira Ajisaka
(cherry picked from commit 802932ca0b10348634b5b5d7f8e7868ce93322f2)
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 d66bb79..a61e6a20 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.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 @@
@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