/********************************************************************************************************************* | |
* Copyright (c) 2008, 2015 Empolis Information Management GmbH and brox IT Solutions GmbH. All rights reserved. This | |
* program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which | |
* accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html | |
**********************************************************************************************************************/ | |
package org.eclipse.smila.solr; | |
import org.apache.commons.lang.NullArgumentException; | |
import org.eclipse.smila.datamodel.AnyMap; | |
import org.eclipse.smila.datamodel.AnySeq; | |
import org.eclipse.smila.datamodel.DataFactory; | |
import junit.framework.TestCase; | |
public class SolrConfig_Test extends TestCase { | |
private final DataFactory _factory = DataFactory.DEFAULT; | |
private AnyMap getSampleConfig() { | |
final AnyMap config = DataFactory.DEFAULT.createAnyMap(); | |
config.put("key", "value"); | |
config.put("mode", SolrConfig.Mode.CLOUD.toString()); | |
final AnySeq seq = config.getSeq("seq", true); | |
seq.add("seqValue"); | |
return config; | |
} | |
public void test_SolrConfig() { | |
final SolrConfig solrConfig = new SolrConfig(getSampleConfig()); | |
final AnyMap config = solrConfig.getConfigMap(); | |
assertEquals("value", config.getStringValue("key")); | |
assertEquals("seqValue", config.getSeq("seq").get(0).asValue().asString()); | |
assertEquals(SolrConfig.Mode.CLOUD.toString(), solrConfig.getMode().toString()); | |
} | |
public void test_SolrConfigModeException() { | |
final SolrConfig solrConfig = new SolrConfig(getSampleConfig()); | |
final AnyMap config = solrConfig.getConfigMap(); | |
config.put("mode", "any"); | |
try { | |
solrConfig.getMode(); | |
} catch (final Exception e) { | |
if (e instanceof IllegalArgumentException) { | |
return; | |
} | |
} | |
fail(); | |
} | |
public void test_SolrConfigMode() { | |
final SolrConfig solrConfig = new SolrConfig(DataFactory.DEFAULT.createAnyMap()); | |
try { | |
solrConfig.getMode(); | |
} catch (final Exception e) { | |
if (e instanceof NullArgumentException) { | |
return; | |
} | |
} | |
fail(); | |
} | |
public void test_getIdField() { | |
final SolrConfig solrConfig = new SolrConfig(getSampleConfig()); | |
final AnyMap config = solrConfig.getConfigMap(); | |
final AnyMap idFields = config.getMap(SolrConfig.ID_FIELDS, true); | |
final String index = "index"; | |
final String id = "_recordid"; | |
idFields.put(index, id); | |
assertEquals(id, solrConfig.getIdField(index)); | |
} | |
public void test_getIdFieldDefault() { | |
final SolrConfig solrConfig = new SolrConfig(getSampleConfig()); | |
final String index = "index"; | |
assertEquals(SolrConfig.ID_FIELD_DEFAULT, solrConfig.getIdField(index)); | |
} | |
public void test_getRestUri() { | |
final String uri = "http://localhost:8983/solr"; | |
final SolrConfig solrConfig = new SolrConfig(getSampleConfig()); | |
final AnyMap config = solrConfig.getConfigMap(); | |
config.put(SolrConfig.REST_URI, uri); | |
assertEquals(uri, solrConfig.getRestUri()); | |
} | |
public void test_getRestUriBlank() { | |
final SolrConfig solrConfig = new SolrConfig(getSampleConfig()); | |
try { | |
solrConfig.getRestUri(); | |
} catch (final Exception e) { | |
if (e instanceof NullArgumentException) { | |
return; | |
} | |
} | |
fail(); | |
} | |
public void test_isFetchFacetFieldType() { | |
final SolrConfig solrConfig = new SolrConfig(getSampleConfig()); | |
final AnyMap config = solrConfig.getConfigMap(); | |
config.put(SolrConfig.FETCH_FACET_FIELD_TYPE, true); | |
assertTrue(solrConfig.isFetchFacetFieldType()); | |
} | |
public void test_isFetchFacetFieldTypeNull() { | |
final SolrConfig solrConfig = new SolrConfig(getSampleConfig()); | |
assertFalse(solrConfig.isFetchFacetFieldType()); | |
} | |
public void test_isProcessGroupValueNull() { | |
final SolrConfig solrConfig = new SolrConfig(_factory.createAnyMap()); | |
final AnyMap config = solrConfig.getConfigMap(); | |
config.put(SolrConfig.PROCESS_GROUP_VALUE_NULL, true); | |
assertTrue(solrConfig.isProcessGroupValueNull()); | |
} | |
public void test_isProcessGroupValueNullDefault() { | |
final SolrConfig solrConfig = new SolrConfig(_factory.createAnyMap()); | |
assertFalse(solrConfig.isProcessGroupValueNull()); | |
} | |
public void test_getGroupValueNull() { | |
final SolrConfig solrConfig = new SolrConfig(_factory.createAnyMap()); | |
final AnyMap config = solrConfig.getConfigMap(); | |
config.put(SolrConfig.GROUP_VALUE_NULL, "test"); | |
assertEquals("test", solrConfig.getGroupValueNull()); | |
} | |
public void test_getGroupValueNullDefault() { | |
final SolrConfig solrConfig = new SolrConfig(_factory.createAnyMap()); | |
assertEquals("<null>", solrConfig.getGroupValueNull()); | |
} | |
public void test_getLoadBalancedSolrServerServerUrls() { | |
final SolrConfig solrConfig = new SolrConfig(getSampleConfig()); | |
final AnyMap config = solrConfig.getConfigMap(); | |
final AnySeq serverUrls = config.getSeq(SolrConfig.SERVER_URLS, true); | |
final String server1 = "http://localhost:8983/solr"; | |
final String server2 = "https://localhost:9983/solr"; | |
final String server3 = "egal"; | |
serverUrls.add(server1); | |
serverUrls.add(server2); | |
serverUrls.add(server3); | |
assertEquals(server1, solrConfig.getLoadBalancedSolrServerServerUrls()[0]); | |
assertEquals(server2, solrConfig.getLoadBalancedSolrServerServerUrls()[1]); | |
assertEquals(server3, solrConfig.getLoadBalancedSolrServerServerUrls()[2]); | |
} | |
public void test_getLoadBalancedSolrServerServerUrlsNull() { | |
final SolrConfig solrConfig = new SolrConfig(getSampleConfig()); | |
try { | |
solrConfig.getLoadBalancedSolrServerServerUrls(); | |
} catch (final Exception e) { | |
if (e instanceof NullArgumentException) { | |
return; | |
} | |
} | |
fail(); | |
} | |
public void test_ZkHost() { | |
final AnyMap config = DataFactory.DEFAULT.createAnyMap(); | |
final String testValue = "zkHost.localhost"; | |
config.put(SolrConfig.ZK_HOST, testValue); | |
final SolrConfig solrConfig = new SolrConfig(config); | |
assertEquals(testValue, solrConfig.getCloudSolrServerZkHost()); | |
} | |
public void test_ZkHostNull() { | |
final AnyMap config = DataFactory.DEFAULT.createAnyMap(); | |
final SolrConfig solrConfig = new SolrConfig(config); | |
try { | |
solrConfig.getCloudSolrServerZkHost(); | |
} catch (final Exception e) { | |
if (e instanceof NullArgumentException) { | |
return; | |
} | |
} | |
fail(); | |
} | |
// Cloud Config | |
public void test_getUpdatesToLeaders() { | |
final AnyMap config = DataFactory.DEFAULT.createAnyMap(); | |
final boolean testValue = false; | |
config.put(SolrConfig.UPDATES_TO_LEADERS, testValue); | |
final SolrConfig solrConfig = new SolrConfig(config); | |
assertEquals(testValue, solrConfig.getCloudSolrServerUpdatesToLeaders()); | |
} | |
public void test_getUpdatesToLeadersDefault() { | |
final AnyMap config = DataFactory.DEFAULT.createAnyMap(); | |
final SolrConfig solrConfig = new SolrConfig(config); | |
assertEquals(SolrConfig.UPDATES_TO_LEADERS_DEFAULT, solrConfig.getCloudSolrServerUpdatesToLeaders()); | |
} | |
// Embedded Config | |
public void test_getSolrHome() { | |
final AnyMap config = DataFactory.DEFAULT.createAnyMap(); | |
final String testValue = "localhost"; | |
config.put(SolrConfig.SOLR_HOME, testValue); | |
final SolrConfig solrConfig = new SolrConfig(config); | |
assertEquals(testValue, solrConfig.getEmbeddedSolrServerSolrHome()); | |
} | |
public void test_getSolrHomeNull() { | |
try { | |
new SolrConfig(DataFactory.DEFAULT.createAnyMap()).getEmbeddedSolrServerSolrHome(); | |
} catch (final Exception e) { | |
if (e instanceof NullArgumentException) { | |
return; | |
} | |
} | |
fail(); | |
} | |
// SolrConfig | |
public void test_getBaseUrl() { | |
final AnyMap config = DataFactory.DEFAULT.createAnyMap(); | |
final String testValue = "localhost"; | |
config.put(SolrConfig.BASE_URL, testValue); | |
final SolrConfig solrConfig = new SolrConfig(config); | |
assertEquals(testValue, solrConfig.getHttpSolrServerBaseUrl()); | |
} | |
public void test_getBaseUrlNull() { | |
try { | |
new SolrConfig(DataFactory.DEFAULT.createAnyMap()).getHttpSolrServerBaseUrl(); | |
} catch (final Exception e) { | |
if (e instanceof NullArgumentException) { | |
return; | |
} | |
} | |
} | |
} |