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) {