You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2016/11/17 21:39:48 UTC

[4/5] lucene-solr:branch_6x: SOLR-9324: Fix local host test assumptions

SOLR-9324: Fix local host test assumptions


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/8659fe1c
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/8659fe1c
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/8659fe1c

Branch: refs/heads/branch_6x
Commit: 8659fe1cce3f49f37f50f9a74d0eb79ad8d1bf58
Parents: f78f698
Author: Gregory Chanan <gc...@cloudera.com>
Authored: Sat Aug 6 00:04:58 2016 -0400
Committer: yonik <yo...@apache.org>
Committed: Thu Nov 17 15:05:46 2016 -0500

----------------------------------------------------------------------
 .../TestSolrCloudWithSecureImpersonation.java   | 23 +++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8659fe1c/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithSecureImpersonation.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithSecureImpersonation.java b/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithSecureImpersonation.java
index 1839d32..71107ee 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithSecureImpersonation.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestSolrCloudWithSecureImpersonation.java
@@ -18,6 +18,7 @@ package org.apache.solr.cloud;
 
 import javax.servlet.http.HttpServletRequest;
 import java.io.File;
+import java.net.InetAddress;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
@@ -42,6 +43,7 @@ import org.apache.solr.security.HttpParamDelegationTokenPlugin;
 import org.apache.solr.security.KerberosPlugin;
 import org.apache.solr.servlet.SolrRequestParsers;
 import org.junit.AfterClass;
+import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
@@ -57,8 +59,16 @@ public class TestSolrCloudWithSecureImpersonation extends SolrTestCaseJ4 {
   private static String getUsersFirstGroup() throws Exception {
     org.apache.hadoop.security.Groups hGroups =
         new org.apache.hadoop.security.Groups(new Configuration());
-    List<String> g = hGroups.getGroups(System.getProperty("user.name"));
-    return g.get(0);
+    String group = "*"; // accept any group if a group can't be found
+    try {
+      List<String> g = hGroups.getGroups(System.getProperty("user.name"));
+      if (g != null && g.size() > 0) {
+        group = g.get(0);
+      }
+    } catch (NullPointerException npe) {
+      // if user/group doesn't exist on test box
+    }
+    return group;
   }
 
   private static Map<String, String> getImpersonatorSettings() throws Exception {
@@ -70,7 +80,9 @@ public class TestSolrCloudWithSecureImpersonation extends SolrTestCaseJ4 {
     filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "wrongHost.groups", "*");
     filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "noHosts.groups", "*");
     filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "localHostAnyGroup.groups", "*");
-    filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "localHostAnyGroup.hosts", "127.0.0.1");
+    InetAddress loopback = InetAddress.getLoopbackAddress();
+    filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "localHostAnyGroup.hosts",
+        loopback.getCanonicalHostName() + "," + loopback.getHostName() + "," + loopback.getHostAddress());
     filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "anyHostUsersGroup.groups", getUsersFirstGroup());
     filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "anyHostUsersGroup.hosts", "*");
     filterProps.put(KerberosPlugin.IMPERSONATOR_PREFIX + "bogusGroup.groups", "__some_bogus_group");
@@ -128,6 +140,11 @@ public class TestSolrCloudWithSecureImpersonation extends SolrTestCaseJ4 {
     }
   }
 
+  @Before
+  public void clearCalledIndicator() throws Exception {
+    ImpersonatorCollectionsHandler.called.set(false);
+  }
+
   @AfterClass
   public static void shutdown() throws Exception {
     if (miniCluster != null) {