You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ho...@apache.org on 2016/03/01 18:07:20 UTC
[37/50] [abbrv] lucene-solr git commit: SOLR-445: refactor test to
subclass SolrCloudTestCase
SOLR-445: refactor test to subclass SolrCloudTestCase
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/5fab8bc3
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/5fab8bc3
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/5fab8bc3
Branch: refs/heads/jira/SOLR-445
Commit: 5fab8bc34c4a66e1f935463631439ab8f505bb30
Parents: 18804d6
Author: Chris Hostetter <ho...@apache.org>
Authored: Mon Feb 29 17:48:27 2016 -0700
Committer: Chris Hostetter <ho...@apache.org>
Committed: Mon Feb 29 17:48:27 2016 -0700
----------------------------------------------------------------------
.../cloud/TestTolerantUpdateProcessorCloud.java | 58 ++++----------------
1 file changed, 12 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5fab8bc3/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java b/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
index 38db3ac..016a897 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
@@ -27,14 +27,8 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
-import com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.LuceneTestCase.SuppressSysoutChecks;
-import org.apache.solr.SolrTestCaseJ4;
-import static org.apache.solr.SolrTestCaseJ4.params;
+import org.apache.solr.cloud.SolrCloudTestCase;
import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.embedded.JettyConfig;
-import org.apache.solr.client.solrj.embedded.JettyConfig.Builder;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
@@ -54,14 +48,10 @@ import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.util.RevertDefaultThreadHandlerRule;
-import org.junit.ClassRule;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.rules.RuleChain;
-import org.junit.rules.TestRule;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -88,8 +78,7 @@ import org.slf4j.LoggerFactory;
* - randomized # nodes, shards, replicas
* - random updates contain rand # of docs with rand # failures to a random client
*/
-@SuppressSysoutChecks(bugUrl = "Solr logs to JUL")
-public class TestTolerantUpdateProcessorCloud extends LuceneTestCase {
+public class TestTolerantUpdateProcessorCloud extends SolrCloudTestCase {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -99,8 +88,6 @@ public class TestTolerantUpdateProcessorCloud extends LuceneTestCase {
private static final String COLLECTION_NAME = "test_col";
- private static MiniSolrCloudCluster SOLR_CLUSTER;
-
/** A basic client for operations at the cloud level, default collection will be set */
private static CloudSolrClient CLOUD_CLIENT;
@@ -125,37 +112,24 @@ public class TestTolerantUpdateProcessorCloud extends LuceneTestCase {
/** id field doc routing prefix for shard2 */
private static final String S_TWO_PRE = "XYZ!";
-
- @Rule
- public TestRule solrTestRules = RuleChain.outerRule(new SystemPropertiesRestoreRule());
-
- @ClassRule
- public static TestRule solrClassRules = RuleChain.outerRule
- (new SystemPropertiesRestoreRule()).around(new RevertDefaultThreadHandlerRule());
-
@BeforeClass
private static void createMiniSolrCloudCluster() throws Exception {
- // nocommit: should we just be subclassing SolrTestCaseJ4 and get this for free?
- SolrTestCaseJ4.chooseMPForMP();
- Builder jettyConfig = JettyConfig.builder();
- jettyConfig.waitForLoadingCoresToFinish(null);
- SOLR_CLUSTER = new MiniSolrCloudCluster(NUM_SERVERS, createTempDir(), jettyConfig.build());
-
- String configName = "solrCloudCollectionConfig";
- File configDir = new File(SolrTestCaseJ4.TEST_HOME() + File.separator + "collection1" + File.separator + "conf");
- SOLR_CLUSTER.uploadConfigDir(configDir, configName);
+ final String configName = "solrCloudCollectionConfig";
+ final File configDir = new File(TEST_HOME() + File.separator + "collection1" + File.separator + "conf");
- SolrTestCaseJ4.newRandomConfig();
+ configureCluster(NUM_SERVERS)
+ .addConfig(configName, configDir.toPath())
+ .configure();
Map<String, String> collectionProperties = new HashMap<>();
collectionProperties.put("config", "solrconfig-distrib-update-processor-chains.xml");
collectionProperties.put("schema", "schema15.xml"); // string id for doc routing prefix
- assertNotNull(SOLR_CLUSTER.createCollection(COLLECTION_NAME, NUM_SHARDS, REPLICATION_FACTOR,
- configName, null, null, collectionProperties));
+ assertNotNull(cluster.createCollection(COLLECTION_NAME, NUM_SHARDS, REPLICATION_FACTOR,
+ configName, null, null, collectionProperties));
- CLOUD_CLIENT = SOLR_CLUSTER.getSolrClient();
+ CLOUD_CLIENT = cluster.getSolrClient();
CLOUD_CLIENT.setDefaultCollection(COLLECTION_NAME);
ZkStateReader zkStateReader = CLOUD_CLIENT.getZkStateReader();
@@ -165,7 +139,7 @@ public class TestTolerantUpdateProcessorCloud extends LuceneTestCase {
// really hackish way to get a URL for specific nodes based on shard/replica hosting
// inspired by TestMiniSolrCloudCluster
HashMap<String, String> urlMap = new HashMap<>();
- for (JettySolrRunner jetty : SOLR_CLUSTER.getJettySolrRunners()) {
+ for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
URL jettyURL = jetty.getBaseUrl();
String nodeKey = jettyURL.getHost() + ":" + jettyURL.getPort() + jettyURL.getPath().replace("/","_");
urlMap.put(nodeKey, jettyURL.toString());
@@ -237,16 +211,8 @@ public class TestTolerantUpdateProcessorCloud extends LuceneTestCase {
}
}
- @AfterClass
- private static void shutdownMiniSolrCloudCluster() throws Exception {
- SOLR_CLUSTER.shutdown();
-
- // nocommit: should we just be subclassing SolrTestCaseJ4 and get this for free?
- SolrTestCaseJ4.unchooseMPForMP();
- }
-
@Before
- private void clearIndex() throws Exception {
+ private void clearCollection() throws Exception {
assertEquals(0, CLOUD_CLIENT.deleteByQuery("*:*").getStatus());
assertEquals(0, CLOUD_CLIENT.commit().getStatus());
}