/*
* Copyright (c) 2010-2013 Evolveum
*
* 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 com.evolveum.midpoint.init;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
import java.io.File;
import java.util.Iterator;
import org.apache.commons.configuration.Configuration;
import org.testng.annotations.Test;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
public class ConfigurationLoadTest {
private static final Trace LOGGER = TraceManager.getTrace(ConfigurationLoadTest.class);
@Test
public void dummyTest() {}
@Test(enabled = false)
public void t01simpleConfigTest() {
LOGGER.info("---------------- simpleConfigTest -----------------");
System.clearProperty("midpoint.home");
LOGGER.info("midpoint.home => " + System.getProperty("midpoint.home"));
assertNull(System.getProperty("midpoint.home"), "midpoint.home");
StartupConfiguration sc = new StartupConfiguration();
assertNotNull(sc);
sc.init();
Configuration c = sc.getConfiguration("midpoint.repository");
assertEquals(c.getString("repositoryServiceFactoryClass"),
"com.evolveum.midpoint.repo.xml.XmlRepositoryServiceFactory");
LOGGER.info(sc.toString());
@SuppressWarnings("unchecked")
Iterator<String> i = c.getKeys();
while ( i.hasNext()) {
String key = i.next();
LOGGER.info(" " + key + " = " + c.getString(key));
}
assertEquals(c.getInt("port"),1984);
assertEquals(c.getString("serverPath"), "" );
}
@Test
public void t02directoryAndExtractionTest() {
LOGGER.info("---------------- directoryAndExtractionTest -----------------");
File f = new File("target/midPointHome");
System.setProperty("midpoint.home", "target/midPointHome/");
StartupConfiguration sc = new StartupConfiguration();
assertNotNull(sc);
sc.init();
assertNotNull(f);
assertTrue(f.exists(), "existence");
assertTrue(f.isDirectory(), "type directory");
f = new File("target/midPointHome/config.xml");
assertTrue(f.exists(), "existence");
assertTrue(f.isFile(), "type file");
//cleanup
System.clearProperty("midpoint.home");
}
@Test(enabled = false)
public void t03complexConfigTest() {
LOGGER.info("---------------- complexConfigTest -----------------");
System.setProperty("midpoint.home", "target/midPointHome/");
StartupConfiguration sc = new StartupConfiguration();
assertNotNull(sc);
sc.init();
Configuration c = sc.getConfiguration("midpoint");
assertEquals(c.getString("repository.repositoryServiceFactoryClass"),
"com.evolveum.midpoint.repo.xml.XmlRepositoryServiceFactory");
@SuppressWarnings("unchecked")
Iterator<String> i = c.getKeys();
while ( i.hasNext()) {
String key = i.next();
LOGGER.info(" " + key + " = " + c.getString(key));
}
assertEquals(c.getString("repository.serverPath"), "target/midPointHome/" );
//cleanup
System.clearProperty("midpoint.home");
}
}