/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.atomhopper.util.config.jaxb; import org.atomhopper.config.v1_0.Configuration; import org.atomhopper.util.config.ConfigurationParserException; import org.atomhopper.util.config.resource.ConfigurationResource; import org.atomhopper.util.config.resource.uri.URIConfigurationResource; import org.atomhopper.util.uri.CustomSchemeResolver; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.experimental.runners.Enclosed; import org.junit.runner.RunWith; import java.net.URI; import static org.junit.Assert.assertNotNull; @RunWith(Enclosed.class) public class JAXBConfigurationParserTest { public static class WhenValidatingSchemas { private JAXBConfigurationParser<Configuration> configurationParser; @Before public void standUp() { configurationParser = new JAXBConfigurationParser<Configuration>( Configuration.class, org.atomhopper.config.v1_0.ObjectFactory.class); } @Test public void shouldLoadSchemaDefinitions() throws Exception { final ConfigurationResource cfgResource = new URIConfigurationResource( new URI("classpath:/META-INF/schema/examples/config/feed-server-config.xml"), CustomSchemeResolver.newDefaultInstance()); configurationParser.enableValidation(getClass().getResource("/META-INF/schema/config/atom-hopper-config.xsd")); configurationParser.setConfigurationResource(cfgResource); assertNotNull("Should correctly parse a static, valid configuration", configurationParser.read()); } //flashing lights are not conducive to test writing @Test (expected=ConfigurationParserException.class) public void shouldVailToParseInvalidConfigurations() throws Exception { final ConfigurationResource cfgResource = new URIConfigurationResource( new URI("classpath:/META-INF/schema/examples/config/broken-feed-server-config.xml"), CustomSchemeResolver.newDefaultInstance()); configurationParser.enableValidation(getClass().getResource("/META-INF/schema/config/atom-hopper-config.xsd")); configurationParser.setConfigurationResource(cfgResource); configurationParser.read(); } } @Ignore private static class WhenReadingConfigurations { } }