You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by gc...@apache.org on 2016/08/06 04:37:38 UTC
lucene-solr:master: SOLR-9324: Fix local host test assumptions
Repository: lucene-solr
Updated Branches:
refs/heads/master 15a706a1c -> 678d3f007
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/678d3f00
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/678d3f00
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/678d3f00
Branch: refs/heads/master
Commit: 678d3f007a492e1bd82833ce35986dce1460c9a8
Parents: 15a706a
Author: Gregory Chanan <gc...@cloudera.com>
Authored: Sat Aug 6 00:04:58 2016 -0400
Committer: Gregory Chanan <gc...@cloudera.com>
Committed: Sat Aug 6 00:34:41 2016 -0400
----------------------------------------------------------------------
.../TestSolrCloudWithSecureImpersonation.java | 23 +++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/678d3f00/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) {