package org.apache.solr.core; import java.io.IOException; import org.apache.lucene.index.ConcurrentMergeScheduler; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.LogByteSizeMergePolicy; import org.apache.solr.update.DirectUpdateHandler2; import org.apache.solr.util.AbstractSolrTestCase; public class TestPropInject extends AbstractSolrTestCase { public String getSchemaFile() { return "schema.xml"; } public String getSolrConfigFile() { if ("testMergePolicyDefaults".equals(getName()) || "testPropsDefaults".equals(getName())) return "solrconfig-propinject-indexdefault.xml"; else return "solrconfig-propinject.xml"; } class ExposeWriterHandler extends DirectUpdateHandler2 { public ExposeWriterHandler() throws IOException { super(h.getCore()); } public IndexWriter getWriter() throws IOException { forceOpenWriter(); return writer; } } public void testMergePolicy() throws Exception { ExposeWriterHandler uh = new ExposeWriterHandler(); IndexWriter writer = uh.getWriter(); LogByteSizeMergePolicy mp = (LogByteSizeMergePolicy)writer.getMergePolicy(); assertEquals(64.0, mp.getMaxMergeMB()); uh.close(); } public void testMergePolicyDefaults() throws Exception { ExposeWriterHandler uh = new ExposeWriterHandler(); IndexWriter writer = uh.getWriter(); LogByteSizeMergePolicy mp = (LogByteSizeMergePolicy)writer.getMergePolicy(); assertEquals(32.0, mp.getMaxMergeMB()); uh.close(); } public void testProps() throws Exception { ExposeWriterHandler uh = new ExposeWriterHandler(); IndexWriter writer = uh.getWriter(); ConcurrentMergeScheduler cms = (ConcurrentMergeScheduler)writer.getMergeScheduler(); assertEquals(2, cms.getMaxThreadCount()); uh.close(); } public void testPropsDefaults() throws Exception { ExposeWriterHandler uh = new ExposeWriterHandler(); IndexWriter writer = uh.getWriter(); ConcurrentMergeScheduler cms = (ConcurrentMergeScheduler)writer.getMergeScheduler(); assertEquals(4, cms.getMaxThreadCount()); uh.close(); } }