package eu.ggnet.dwoss.rules;
import java.io.*;
import java.net.URL;
import java.util.Properties;
import org.junit.Test;
import eu.ggnet.dwoss.common.log.AutoLoggerInterceptor;
import nu.xom.*;
import static org.fest.assertions.api.Assertions.assertThat;
/**
*
* @author oliver.guenther
*/
public class TestBeansXml {
@Test
public void testAlternatives() throws ParsingException, ValidityException, IOException {
// Refactor Safty Net.
ClassLoader cl = ClassLoader.getSystemClassLoader();
Properties p = new Properties();
URL url = cl.getResource("support.properties");
assertThat(url).isNotNull();
p.load(url.openStream());
String beans = p.getProperty("beans");
assertThat(beans).isNotEmpty();
File f = new File(beans);
assertThat(f).exists().canRead();
Builder parser = new Builder();
try (FileInputStream fi = new FileInputStream(f)) {
Document doc = parser.build(fi);
Element rootElement = doc.getRootElement();
assertThat(rootElement.getLocalName()).isEqualTo("beans");
assertThat(rootElement.getChildElements().get(0).getLocalName()).isEqualTo("interceptors");
assertThat(rootElement.getChildElements().get(0).getChildElements().get(0).getLocalName()).isEqualTo("class");
assertThat(rootElement.getChildElements().get(0).getChildElements().get(0).getValue().trim()).isEqualTo(AutoLoggerInterceptor.class.getName());
}
}
}