package org.lognavigator.service; import static org.junit.Assert.*; import javax.xml.bind.JAXBContext; import org.junit.Before; import org.junit.Test; import org.lognavigator.bean.LogNavigatorConfig; import org.lognavigator.exception.ConfigException; import org.lognavigator.service.DefaultConfigService; import org.springframework.core.io.ClassPathResource; public class DefaultConfigServiceTest { private DefaultConfigService configService = new DefaultConfigService(); @Before public void setup() throws Exception { configService.logNavigatorConfigJaxbContext = JAXBContext.newInstance(LogNavigatorConfig.class); } @Test public void reloadLogNavigatorConfigIfNecessary_OK() { // Init data configService.logNavigatorConfigResource = new ClassPathResource("lognavigator.xml"); // Execute test configService.reloadLogNavigatorConfigIfNecessary(); // Assertions assertNotNull(configService.logAccessConfigs); assertFalse(configService.logAccessConfigs.isEmpty()); } @Test(expected=ConfigException.class) public void reloadLogNavigatorConfigIfNecessary_ConfigNotFound() { configService.logNavigatorConfigResource = new ClassPathResource("lognavigator-unfound.xml"); configService.reloadLogNavigatorConfigIfNecessary(); } @Test(expected=ConfigException.class) public void reloadLogNavigatorConfigIfNecessary_InvalidOptionsInConfig() { configService.logNavigatorConfigResource = new ClassPathResource("lognavigator-invalid-ssh.xml"); configService.reloadLogNavigatorConfigIfNecessary(); } @Test(expected=ConfigException.class) public void reloadLogNavigatorConfigIfNecessary_InvalidTypeInConfig() { configService.logNavigatorConfigResource = new ClassPathResource("lognavigator-invalid-type.xml"); configService.reloadLogNavigatorConfigIfNecessary(); } }