Browse Source

HADOOP-16031. Fixed TestSecureLogins unit test. Contributed by Akira Ajisaka

(cherry picked from commit 802932ca0b10348634b5b5d7f8e7868ce93322f2)
Eric Yang 6 years ago
parent
commit
e97acb3bd8

+ 10 - 3
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.security.authentication.util.KerberosUtil;
 import org.apache.hadoop.registry.client.impl.zk.RegistrySecurity;
 import org.apache.hadoop.registry.client.impl.zk.RegistrySecurity;
 import org.apache.hadoop.registry.client.impl.zk.ZookeeperConfigOptions;
 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 static org.apache.hadoop.util.PlatformName.IBM_JAVA;
 
 
 import org.junit.Test;
 import org.junit.Test;
@@ -195,12 +199,15 @@ public class TestSecureLogins extends AbstractSecureRegistryTest {
 
 
   @Test
   @Test
   public void testValidKerberosName() throws Throwable {
   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).getShortName();
     new HadoopKerberosName(ZOOKEEPER_LOCALHOST).getShortName();
     new HadoopKerberosName(ZOOKEEPER_LOCALHOST).getShortName();
     new HadoopKerberosName(ZOOKEEPER_REALM).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
   @Test