/**
* Copyright 2008 - 2009 Pro-Netics S.P.A.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package it.pronetics.madstore.common.configuration.spring;
import it.pronetics.madstore.common.configuration.spring.MadStoreConfigurationBean.SimpleTriggerConfiguration;
import junit.framework.TestCase;
/**
* @author Salvatore Incandela
*/
public class MadStoreConfigurationBeanTest extends TestCase {
private MadStoreConfigurationBean madStoreConfiguration;
private static final String CRAWLER_TASK = "crawlerTask";
private static final String CLEAN_REPOSITORY_HISTORY_TASK = "cleanRepositoryHistoryTask";
private static final String SEPARATOR = System.getProperty("file.separator");
public void testMadStoreConfiguration() {
this.madStoreConfiguration = MadStoreConfigurationManager.getInstance().getMadStoreConfiguration();
String madStoreHome = System.getProperty("MADSTORE_HOME");
assertEquals(madStoreHome, madStoreConfiguration.getMadStoreHome());
// crawler target site
assertEquals("http://localhost:8080", madStoreConfiguration.getCrawlerConfigurations().get(0).getHostName());
assertEquals("hatom1.html", madStoreConfiguration.getCrawlerConfigurations().get(0).getStartLink());
assertEquals(2, madStoreConfiguration.getCrawlerConfigurations().get(0).getMaxConcurrentDownloads());
assertEquals(100, madStoreConfiguration.getCrawlerConfigurations().get(0).getMaxVisitedLinks());
// crawler simple trigger
SimpleTriggerConfiguration crawlerSimpleTriggerConfiguration = madStoreConfiguration.getTasks().get(CRAWLER_TASK);
assertNotNull(crawlerSimpleTriggerConfiguration);
assertEquals(1, crawlerSimpleTriggerConfiguration.getStartDelay());
assertEquals(5, crawlerSimpleTriggerConfiguration.getRepeatInterval());
SimpleTriggerConfiguration cleanHistorySimpleTriggerConfiguration = madStoreConfiguration.getTasks().get(CLEAN_REPOSITORY_HISTORY_TASK);
assertNotNull(cleanHistorySimpleTriggerConfiguration);
assertEquals(2, cleanHistorySimpleTriggerConfiguration.getStartDelay());
assertEquals(6, cleanHistorySimpleTriggerConfiguration.getRepeatInterval());
// crawler grid
assertEquals(madStoreHome + SEPARATOR + "gridgain", madStoreConfiguration.getGridConfiguration().getHomeDir());
assertEquals("192.168.1.1", madStoreConfiguration.getGridConfiguration().getLocalAddress());
// repository jcr
assertEquals(new Integer(2000), madStoreConfiguration.getJcrConfiguration().getMaxHistory());
assertEquals(madStoreHome + SEPARATOR + "jcr", madStoreConfiguration.getJcrConfiguration().getHomeDir());
assertEquals("", madStoreConfiguration.getJcrConfiguration().getUsername());
assertEquals("", new String(madStoreConfiguration.getJcrConfiguration().getPassword()));
// repository index
assertEquals(madStoreHome + SEPARATOR + "index", madStoreConfiguration.getIndexConfiguration().getIndexDir());
// indexed properties
assertEquals("title", madStoreConfiguration.getIndexConfiguration().getIndexedProperties().get(0).getName());
assertEquals("//atom:entry/atom:title", madStoreConfiguration.getIndexConfiguration().getIndexedProperties().get(0).getXPath());
assertEquals(1, madStoreConfiguration.getIndexConfiguration().getIndexedProperties().get(0).getBoost());
assertEquals("summary", madStoreConfiguration.getIndexConfiguration().getIndexedProperties().get(1).getName());
assertEquals("//atom:entry/atom:summary", madStoreConfiguration.getIndexConfiguration().getIndexedProperties().get(1).getXPath());
assertEquals(1, madStoreConfiguration.getIndexConfiguration().getIndexedProperties().get(1).getBoost());
assertEquals("author", madStoreConfiguration.getIndexConfiguration().getIndexedProperties().get(2).getName());
assertEquals("//atom:entry/atom:author/atom:name", madStoreConfiguration.getIndexConfiguration().getIndexedProperties().get(2).getXPath());
assertEquals(1, madStoreConfiguration.getIndexConfiguration().getIndexedProperties().get(2).getBoost());
assertEquals(10, madStoreConfiguration.getHttpCacheConfiguration().getMaxAge());
// server open search
assertEquals("sampleName", madStoreConfiguration.getOpenSearchConfiguration().getShortName());
assertEquals("sample description", madStoreConfiguration.getOpenSearchConfiguration().getDescription());
// server atom publishing protocol
assertEquals("MadStore", madStoreConfiguration.getAtomPublishingProtocolConfiguration().getWorkspace());
}
}