CAMEL-10118: - Fixed log dependencies - Moved test configuration to surefire - Overriden logger in Optaplanner - Excluded Xmlbeans from test
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/44461c2e Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/44461c2e Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/44461c2e Branch: refs/heads/master Commit: 44461c2ee428ddd72165c64f47e512ad40dca3c0 Parents: 8b4f772 Author: Nicola Ferraro <ni.ferr...@gmail.com> Authored: Mon Jul 4 16:21:28 2016 +0200 Committer: Nicola Ferraro <ni.ferr...@gmail.com> Committed: Mon Jul 4 16:21:28 2016 +0200 ---------------------------------------------------------------------- tests/camel-itest-spring-boot/pom.xml | 28 ++++++++++++++++++++ .../itest/springboot/ITestConfigBuilder.java | 22 +++------------ .../itest/springboot/CamelOptaplannerTest.java | 1 + .../springboot/util/ArquillianPackager.java | 16 +++++++++-- .../test/resources/spring-boot-itest.properties | 9 ------- 5 files changed, 47 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/44461c2e/tests/camel-itest-spring-boot/pom.xml ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/pom.xml b/tests/camel-itest-spring-boot/pom.xml index 93bea2a..a2836e4 100644 --- a/tests/camel-itest-spring-boot/pom.xml +++ b/tests/camel-itest-spring-boot/pom.xml @@ -133,10 +133,38 @@ <childDelegation>false</childDelegation> <forkedProcessTimeoutInSeconds>15000</forkedProcessTimeoutInSeconds> <rerunFailingTestsCount>0</rerunFailingTestsCount> + <excludes> + <!-- Xmlbeans cannot work with the current version of spring-boot --> + <exclude>org.apache.camel.itest.springboot.CamelXmlbeansTest</exclude> + </excludes> <includes> <include>**/*Test.java</include> </includes> <systemProperties> + + <!-- Test configuration --> + <!-- + It is better disabling unit testing in surefire, as some of them fail for various reasons + (unrelated to spring-boot) when running in the arquillian jar. + + Tests are enabled when running from IDE. See org.apache.camel.itest.springboot.ITestConfigBuilder + for property names and defaults values. + --> + <property> + <name>itest.springboot.unitTestEnabled</name> + <value>false</value> + </property> + <property> + <name>itest.springboot.includeTestDependencies</name> + <value>true</value> + </property> + <property> + <name>itest.springboot.mavenOfflineResolution</name> + <value>false</value> + </property> + + + <!-- Additional dependencies required by modules --> <property> <name>version_org.apache.camel:camel-core</name> <value>${project.version}</value> http://git-wip-us.apache.org/repos/asf/camel/blob/44461c2e/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfigBuilder.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfigBuilder.java b/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfigBuilder.java index 50ef8c6..5863fb1 100644 --- a/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfigBuilder.java +++ b/tests/camel-itest-spring-boot/src/main/java/org/apache/camel/itest/springboot/ITestConfigBuilder.java @@ -16,11 +16,9 @@ */ package org.apache.camel.itest.springboot; -import java.io.InputStream; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; -import java.util.Properties; import java.util.TreeSet; /** @@ -28,9 +26,7 @@ import java.util.TreeSet; */ public class ITestConfigBuilder { - private static final String PROPERTIES_FILE = "/spring-boot-itest.properties"; - - private Properties properties; + public static final String CONFIG_PREFIX = "itest.springboot."; private ITestConfig config; @@ -150,7 +146,7 @@ public class ITestConfigBuilder { // Set the defaults if (config.getUnitTestEnabled() == null) { - config.setUnitTestEnabled(booleanPropertyOr("unitTestEnabled", false)); + config.setUnitTestEnabled(booleanPropertyOr("unitTestEnabled", true)); } if (config.getMavenGroup() == null) { @@ -162,7 +158,7 @@ public class ITestConfigBuilder { } if (config.getMavenOfflineResolution() == null) { - config.setMavenOfflineResolution(booleanPropertyOr("mavenOfflineResolution", true)); + config.setMavenOfflineResolution(booleanPropertyOr("mavenOfflineResolution", false)); } if (config.getUnitTestInclusionPattern() == null) { @@ -229,17 +225,7 @@ public class ITestConfigBuilder { } private String propertyOr(String name, String defaultVal) { - if (properties == null) { - properties = new Properties(); - try { - InputStream in = getClass().getResourceAsStream(PROPERTIES_FILE); - properties.load(in); - } catch (Exception e) { - throw new IllegalStateException("Unable to load property file: " + PROPERTIES_FILE, e); - } - } - - String res = properties.getProperty(name); + String res = System.getProperty(CONFIG_PREFIX + name); if (res == null) { res = defaultVal; } http://git-wip-us.apache.org/repos/asf/camel/blob/44461c2e/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelOptaplannerTest.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelOptaplannerTest.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelOptaplannerTest.java index 31e5b41..29932f0 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelOptaplannerTest.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/CamelOptaplannerTest.java @@ -35,6 +35,7 @@ public class CamelOptaplannerTest extends AbstractSpringBootTestSupport { public static ITestConfig createTestConfig() { return new ITestConfigBuilder() .module(inferModuleName(CamelOptaplannerTest.class)) + .customLog(true) .build(); } http://git-wip-us.apache.org/repos/asf/camel/blob/44461c2e/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/ArquillianPackager.java ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/ArquillianPackager.java b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/ArquillianPackager.java index 071b496..102d42f 100644 --- a/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/ArquillianPackager.java +++ b/tests/camel-itest-spring-boot/src/test/java/org/apache/camel/itest/springboot/util/ArquillianPackager.java @@ -33,6 +33,7 @@ import java.util.Set; import java.util.regex.Pattern; import org.apache.camel.itest.springboot.ITestConfig; +import org.apache.camel.itest.springboot.ITestConfigBuilder; import org.apache.camel.itest.springboot.arquillian.SpringBootZipExporterImpl; import org.apache.commons.io.FileUtils; import org.jboss.arquillian.container.se.api.ClassPath; @@ -85,7 +86,6 @@ public final class ArquillianPackager { JavaArchive ark = domain.getArchiveFactory().create(JavaArchive.class, "test.jar"); ark = ark.addAsManifestResource("BOOT-MANIFEST.MF", "MANIFEST.MF"); - ark = ark.addAsResource("spring-boot-itest.properties"); if (config.getUseCustomLog()) { ark = ark.addAsResource("spring-logback.xml"); @@ -123,6 +123,8 @@ public final class ArquillianPackager { commonExclusions.add(MavenDependencies.createExclusion("org.slf4j", "slf4j-simple")); commonExclusions.add(MavenDependencies.createExclusion("org.slf4j", "slf4j-simple")); commonExclusions.add(MavenDependencies.createExclusion("org.slf4j", "slf4j-jdk14")); + commonExclusions.add(MavenDependencies.createExclusion("ch.qos.logback", "logback-classic")); + commonExclusions.add(MavenDependencies.createExclusion("ch.qos.logback", "logback-core")); for (String ex : config.getMavenExclusions()) { commonExclusions.add(MavenDependencies.createExclusion(ex)); @@ -223,6 +225,16 @@ public final class ArquillianPackager { external.addSystemProperty("container.test.resources.dir", new File(config.getModuleBasePath()).getCanonicalPath() + "/target/test-classes"); } + // Adding configuration properties + for (Map.Entry<Object, Object> e : System.getProperties().entrySet()) { + if(e.getKey() instanceof String && e.getValue() instanceof String) { + String key = (String) e.getKey(); + if(key.startsWith(ITestConfigBuilder.CONFIG_PREFIX)) { + external.addSystemProperty(key, (String) e.getValue()); + } + } + } + for (Map.Entry<String, String> e : config.getSystemProperties().entrySet()) { external.addSystemProperty(e.getKey(), e.getValue()); } @@ -269,7 +281,7 @@ public final class ArquillianPackager { private static boolean validTestDependency(MavenCoordinate coordinate) { - Pattern[] patterns = new Pattern[]{Pattern.compile("^log4j$"), Pattern.compile("^slf4j-log4j12$"), Pattern.compile("^slf4j-simple$"), Pattern.compile("^slf4j-jdk14$")}; + Pattern[] patterns = new Pattern[]{Pattern.compile("^log4j$"), Pattern.compile("^slf4j-log4j12$"), Pattern.compile("^slf4j-simple$"), Pattern.compile("^slf4j-jdk14$"), Pattern.compile("^logback-classic$"), Pattern.compile("^logback-core$")}; boolean valid = true; for (Pattern p : patterns) { http://git-wip-us.apache.org/repos/asf/camel/blob/44461c2e/tests/camel-itest-spring-boot/src/test/resources/spring-boot-itest.properties ---------------------------------------------------------------------- diff --git a/tests/camel-itest-spring-boot/src/test/resources/spring-boot-itest.properties b/tests/camel-itest-spring-boot/src/test/resources/spring-boot-itest.properties deleted file mode 100644 index 6e4c17a..0000000 --- a/tests/camel-itest-spring-boot/src/test/resources/spring-boot-itest.properties +++ /dev/null @@ -1,9 +0,0 @@ -# Test configuration can be overriden here. -# This file is included in the spring-boot jar built by Arquillian. -# It is better disabling unit testing for all-modules-verification, -# as many of them fail for various reasons (unrelated to spring-boot) -# when running in the arquillian jar. -unitTestEnabled=false -includeTestDependencies=true -# to speed-up packaging -mavenOfflineResolution=false