This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 2df874679e364509128d94f571892b6c3eed9ffa Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Tue Jun 9 17:36:25 2020 +0200 [CAMEL-11807] Uprade camel-main to junit5 --- core/camel-main/pom.xml | 21 ++- .../org/apache/camel/main/BaseMainSupport.java | 4 + .../org/apache/camel/main/ContextEventsTest.java | 7 +- .../java/org/apache/camel/main/MainBeansTest.java | 9 +- .../camel/main/MainComponentConfigurationTest.java | 9 +- .../org/apache/camel/main/MainIoCAutowireTest.java | 11 +- .../MainIoCBeanConfigInjectConfigurerTest.java | 7 +- .../camel/main/MainIoCBeanConfigInjectMapTest.java | 8 +- .../MainIoCBeanConfigInjectPropertiesTest.java | 8 +- .../camel/main/MainIoCBeanConfigInjectTest.java | 6 +- .../main/MainIoCNewRouteBuilderComplexTest.java | 6 +- .../camel/main/MainIoCNewRouteBuilderTest.java | 7 +- .../java/org/apache/camel/main/MainIoCTest.java | 18 ++- .../org/apache/camel/main/MainListenerTest.java | 7 +- .../apache/camel/main/MainLogPlaceholderTest.java | 6 +- .../camel/main/MainPropertyPlaceholderTest.java | 14 +- .../main/MainPropertyPlaceholderWithEnvTest.java | 155 +++++++++++++++------ .../MainPropertyPlaceholderWithSystemTest.java | 6 +- .../apache/camel/main/MainRouteOrderedTest.java | 6 +- .../main/MainRoutesCollectorPackageScanTest.java | 7 +- .../apache/camel/main/MainRoutesCollectorTest.java | 7 +- .../java/org/apache/camel/main/MainSedaTest.java | 8 +- .../apache/camel/main/MainSedaWildcardTest.java | 8 +- ...gRouteControllerFilterFailToStartRouteTest.java | 7 +- .../main/MainSupervisingRouteControllerTest.java | 8 +- .../camel/main/MainSupportCommandLineTest.java | 3 +- .../test/java/org/apache/camel/main/MainTest.java | 17 ++- .../org/apache/camel/main/MainThreadPoolTest.java | 7 +- .../java/org/apache/camel/main/MainVetoTest.java | 6 +- .../apache/camel/main/MainWithRestConfigTest.java | 6 +- .../camel/main/ServicesAutoConfigurationTest.java | 7 +- .../org/apache/camel/main/xml/MainXmlTest.java | 7 +- 32 files changed, 263 insertions(+), 150 deletions(-) diff --git a/core/camel-main/pom.xml b/core/camel-main/pom.xml index 57c80f0..c8dd636 100644 --- a/core/camel-main/pom.xml +++ b/core/camel-main/pom.xml @@ -112,26 +112,25 @@ <scope>test</scope> </dependency> <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> + <groupId>org.junit.jupiter</groupId> + <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <version>${mockito-version}</version> + <groupId>org.junit.vintage</groupId> + <artifactId>junit-vintage-engine</artifactId> <scope>test</scope> </dependency> <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-junit4</artifactId> - <version>${powermock-version}</version> + <groupId>org.junit.platform</groupId> + <artifactId>junit-platform-runner</artifactId> + <version>1.6.1</version> <scope>test</scope> </dependency> <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-api-mockito2</artifactId> - <version>${powermock-version}</version> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>${mockito-version}</version> <scope>test</scope> </dependency> </dependencies> diff --git a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java index 1a1b2e8..52f72cd 100644 --- a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java +++ b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java @@ -79,6 +79,7 @@ import org.slf4j.LoggerFactory; import static org.apache.camel.main.MainHelper.loadEnvironmentVariablesAsProperties; import static org.apache.camel.main.MainHelper.lookupPropertyFromSysOrEnv; +import static org.apache.camel.main.MainHelper.toEnvVar; import static org.apache.camel.support.ObjectHelper.invokeMethod; import static org.apache.camel.util.ReflectionHelper.findMethod; import static org.apache.camel.util.StringHelper.matches; @@ -1097,6 +1098,9 @@ public abstract class BaseMainSupport extends BaseService { // load properties from ENV (override existing) if (mainConfigurationProperties.isAutoConfigurationEnvironmentVariablesEnabled()) { Properties propENV = loadEnvironmentVariablesAsProperties(new String[]{"camel.main."}); + propENV.remove(INITIAL_PROPERTIES_LOCATION.replace('-', '.')); + propENV.remove(OVERRIDE_PROPERTIES_LOCATION.replace('-', '.')); + propENV.remove(PROPERTY_PLACEHOLDER_LOCATION.replace('-', '.')); if (!propENV.isEmpty()) { prop.putAll(propENV); } diff --git a/core/camel-main/src/test/java/org/apache/camel/main/ContextEventsTest.java b/core/camel-main/src/test/java/org/apache/camel/main/ContextEventsTest.java index 01b3aed..8083a65 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/ContextEventsTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/ContextEventsTest.java @@ -22,10 +22,11 @@ import org.apache.camel.BindToRegistry; import org.apache.camel.spi.OnCamelContextInitialized; import org.apache.camel.spi.OnCamelContextStart; import org.apache.camel.spi.OnCamelContextStop; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class ContextEventsTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class ContextEventsTest { @Test public void testEvents() throws Exception { MyConfig config = new MyConfig(); diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainBeansTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainBeansTest.java index 7626346..48b8c0d 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainBeansTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainBeansTest.java @@ -18,10 +18,13 @@ package org.apache.camel.main; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainBeansTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; + +public class MainBeansTest { @Test public void testBindBeans() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainComponentConfigurationTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainComponentConfigurationTest.java index a2360ba..6fa1f20 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainComponentConfigurationTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainComponentConfigurationTest.java @@ -19,10 +19,13 @@ package org.apache.camel.main; import java.util.Properties; import org.apache.camel.main.support.MyDummyComponent; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainComponentConfigurationTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class MainComponentConfigurationTest { @Test public void testComponentConfiguration() { Properties properties = new Properties(); diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCAutowireTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCAutowireTest.java index 17e8e21..033282a 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCAutowireTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCAutowireTest.java @@ -35,10 +35,13 @@ import org.apache.camel.support.DefaultAsyncProducer; import org.apache.camel.support.DefaultComponent; import org.apache.camel.support.DefaultConsumer; import org.apache.camel.support.DefaultEndpoint; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainIoCAutowireTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class MainIoCAutowireTest { @Test public void autowireNonNullOnlyDisabledTest() { Main main = new Main(); @@ -105,7 +108,7 @@ public class MainIoCAutowireTest extends Assert { @BindToRegistry public BlockingQueueFactory queueFactory(CamelContext myCamel) { // we can optionally include camel context as parameter - Assert.assertNotNull(myCamel); + assertNotNull(myCamel); return new PriorityBlockingQueueFactory(); } } diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectConfigurerTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectConfigurerTest.java index f8ceca8..e7ce52f 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectConfigurerTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectConfigurerTest.java @@ -22,10 +22,11 @@ import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.spi.GeneratedPropertyConfigurer; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainIoCBeanConfigInjectConfigurerTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertNotNull; + +public class MainIoCBeanConfigInjectConfigurerTest { @Test public void testMainIoC() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectMapTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectMapTest.java index d573636..ba66f68 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectMapTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectMapTest.java @@ -23,10 +23,12 @@ import org.apache.camel.BindToRegistry; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainIoCBeanConfigInjectMapTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +public class MainIoCBeanConfigInjectMapTest { @Test public void testMainIoC() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectPropertiesTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectPropertiesTest.java index 3717450..df212fa 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectPropertiesTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectPropertiesTest.java @@ -23,10 +23,12 @@ import org.apache.camel.BindToRegistry; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainIoCBeanConfigInjectPropertiesTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +public class MainIoCBeanConfigInjectPropertiesTest { @Test public void testMainIoC() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectTest.java index 7ecbbd5..25c82cd 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCBeanConfigInjectTest.java @@ -21,10 +21,10 @@ import org.apache.camel.BindToRegistry; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainIoCBeanConfigInjectTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertNotNull; +public class MainIoCBeanConfigInjectTest { @Test public void testMainIoC() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCNewRouteBuilderComplexTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCNewRouteBuilderComplexTest.java index eae5917..a48e1b6 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCNewRouteBuilderComplexTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCNewRouteBuilderComplexTest.java @@ -21,10 +21,10 @@ import org.apache.camel.CamelContext; import org.apache.camel.PropertyInject; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainIoCNewRouteBuilderComplexTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertNotNull; +public class MainIoCNewRouteBuilderComplexTest { @Test public void testMainIoC() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCNewRouteBuilderTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCNewRouteBuilderTest.java index e670b7c..6d576ef 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCNewRouteBuilderTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCNewRouteBuilderTest.java @@ -22,10 +22,11 @@ import org.apache.camel.CamelContext; import org.apache.camel.PropertyInject; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainIoCNewRouteBuilderTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +public class MainIoCNewRouteBuilderTest { @Test public void testMainIoC() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCTest.java index 66d9df4..692e7f8 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainIoCTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainIoCTest.java @@ -27,10 +27,14 @@ import org.apache.camel.component.seda.BlockingQueueFactory; import org.apache.camel.component.seda.PriorityBlockingQueueFactory; import org.apache.camel.component.seda.SedaComponent; import org.apache.camel.model.ModelCamelContext; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainIoCTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class MainIoCTest { @Test public void testMainIoC() throws Exception { @@ -121,7 +125,7 @@ public class MainIoCTest extends Assert { @BindToRegistry public BlockingQueueFactory queueFactory(CamelContext myCamel) { // we can optionally include camel context as parameter - Assert.assertNotNull(myCamel); + assertNotNull(myCamel); return new PriorityBlockingQueueFactory(); } @@ -130,9 +134,9 @@ public class MainIoCTest extends Assert { @PropertyInject(value = "magic", defaultValue = "456") int num, @BeanInject("myBar") MyBar bar) { // should lookup MyCoolBean type from the registry and find the property - Assert.assertNotNull(cool); - Assert.assertEquals(456, num); - Assert.assertNotNull(bar); + assertNotNull(cool); + assertEquals(456, num); + assertNotNull(bar); return cool.getName(); } diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainListenerTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainListenerTest.java index a0398a4..ec70d43 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainListenerTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainListenerTest.java @@ -21,12 +21,13 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static org.apache.camel.util.CollectionHelper.propertiesOf; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; -public class MainListenerTest extends Assert { +public class MainListenerTest { @Test public void testEventOrder() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainLogPlaceholderTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainLogPlaceholderTest.java index deabe4b..47efc4d 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainLogPlaceholderTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainLogPlaceholderTest.java @@ -18,10 +18,10 @@ package org.apache.camel.main; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainLogPlaceholderTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +public class MainLogPlaceholderTest { @Test public void testMain() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderTest.java index a065a49..ade9280 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderTest.java @@ -16,17 +16,23 @@ */ package org.apache.camel.main; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainPropertyPlaceholderTest extends Assert { - @Test(expected = IllegalArgumentException.class) +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.fail; + +public class MainPropertyPlaceholderTest { + @Test public void testDefaultPropertyPlaceholderLocationDisabled() { Main main = new Main(); try { main.setDefaultPropertyPlaceholderLocation("false"); main.start(); main.getCamelContext().resolvePropertyPlaceholders("{{hello}}"); + fail("Expected IllegalArgumentException"); + } catch (IllegalArgumentException e) { + // ok } finally { main.stop(); } diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderWithEnvTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderWithEnvTest.java index 9f1b6a6..ae00e08 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderWithEnvTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderWithEnvTest.java @@ -16,36 +16,30 @@ */ package org.apache.camel.main; +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; import java.util.Properties; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PowerMockIgnore; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.when; -@RunWith(PowerMockRunner.class) -@PowerMockIgnore({"javax.management.*", "javax.script.*"}) -@PrepareForTest(MainHelper.class) public class MainPropertyPlaceholderWithEnvTest { + public static final String ENV_PROPERTY_PLACEHOLDER_LOCATION = MainHelper.toEnvVar(Main.PROPERTY_PLACEHOLDER_LOCATION); public static final String ENV_INITIAL_PROPERTIES_LOCATION = MainHelper.toEnvVar(Main.INITIAL_PROPERTIES_LOCATION); public static final String ENV_OVERRIDE_PROPERTIES_LOCATION = MainHelper.toEnvVar(Main.OVERRIDE_PROPERTIES_LOCATION); - @Before - public void setUp() { - PowerMockito.mockStatic(System.class); - } + private static final Map<String, String> THE_CASE_INSENSITIVE_ENVIRONMENT = new HashMap<>(); + + protected final Map<String, String> env = new HashMap<>(); + protected final Map<String, String> sys = new HashMap<>(); @Test public void testPropertyPlaceholderLocation() { - when(System.getenv(ENV_PROPERTY_PLACEHOLDER_LOCATION)) - .thenReturn("classpath:default.properties"); + envVariable(ENV_PROPERTY_PLACEHOLDER_LOCATION, "classpath:default.properties"); Main main = new Main(); try { @@ -58,10 +52,8 @@ public class MainPropertyPlaceholderWithEnvTest { @Test public void testPropertyPlaceholderOrdering() { - when(System.getenv(MainHelper.toEnvVar(Main.PROPERTY_PLACEHOLDER_LOCATION))) - .thenReturn("classpath:default.properties"); - when(System.getProperty(Main.PROPERTY_PLACEHOLDER_LOCATION)) - .thenReturn("classpath:user.properties"); + envVariable(ENV_PROPERTY_PLACEHOLDER_LOCATION, "classpath:default.properties"); + sysVariable(Main.PROPERTY_PLACEHOLDER_LOCATION, "classpath:user.properties"); Main main = new Main(); try { @@ -74,8 +66,7 @@ public class MainPropertyPlaceholderWithEnvTest { @Test public void testInitialProperties() { - when(System.getenv(ENV_INITIAL_PROPERTIES_LOCATION)) - .thenReturn("classpath:initial.properties"); + envVariable(ENV_INITIAL_PROPERTIES_LOCATION, "classpath:initial.properties"); Main main = new Main(); try { @@ -88,10 +79,8 @@ public class MainPropertyPlaceholderWithEnvTest { @Test public void testInitialPropertiesOrdering() { - when(System.getenv(ENV_INITIAL_PROPERTIES_LOCATION)) - .thenReturn("classpath:default.properties"); - when(System.getProperty(Main.INITIAL_PROPERTIES_LOCATION)) - .thenReturn("classpath:user.properties"); + envVariable(ENV_INITIAL_PROPERTIES_LOCATION, "classpath:default.properties"); + sysVariable(Main.INITIAL_PROPERTIES_LOCATION, "classpath:user.properties"); Main main = new Main(); try { @@ -104,8 +93,7 @@ public class MainPropertyPlaceholderWithEnvTest { @Test public void testInstanceInitialPropertiesOrdering() { - when(System.getenv(ENV_INITIAL_PROPERTIES_LOCATION)) - .thenReturn("classpath:initial.properties"); + envVariable(ENV_INITIAL_PROPERTIES_LOCATION, "classpath:initial.properties"); Main main = new Main(); try { @@ -122,8 +110,7 @@ public class MainPropertyPlaceholderWithEnvTest { @Test public void testOverrideProperties() { - when(System.getenv(ENV_OVERRIDE_PROPERTIES_LOCATION)) - .thenReturn("classpath:override.properties"); + envVariable(ENV_OVERRIDE_PROPERTIES_LOCATION, "classpath:override.properties"); Main main = new Main(); try { @@ -136,8 +123,7 @@ public class MainPropertyPlaceholderWithEnvTest { @Test public void testInstanceOverridePropertiesOrdering() { - when(System.getenv(ENV_OVERRIDE_PROPERTIES_LOCATION)) - .thenReturn("classpath:override.properties"); + envVariable(ENV_OVERRIDE_PROPERTIES_LOCATION, "classpath:override.properties"); Main main = new Main(); try { @@ -154,10 +140,8 @@ public class MainPropertyPlaceholderWithEnvTest { @Test public void testOverridePropertiesOrdering() { - when(System.getenv(ENV_OVERRIDE_PROPERTIES_LOCATION)) - .thenReturn("classpath:default.properties"); - when(System.getProperty(Main.OVERRIDE_PROPERTIES_LOCATION)) - .thenReturn("classpath:user.properties"); + envVariable(ENV_OVERRIDE_PROPERTIES_LOCATION, "classpath:default.properties"); + sysVariable(Main.OVERRIDE_PROPERTIES_LOCATION, "classpath:user.properties"); Main main = new Main(); try { @@ -171,12 +155,9 @@ public class MainPropertyPlaceholderWithEnvTest { @Test public void testAll() { - when(System.getenv(ENV_INITIAL_PROPERTIES_LOCATION)) - .thenReturn("classpath:initial.properties"); - when(System.getenv(ENV_OVERRIDE_PROPERTIES_LOCATION)) - .thenReturn("classpath:override.properties"); - when(System.getenv(ENV_PROPERTY_PLACEHOLDER_LOCATION)) - .thenReturn("classpath:default.properties,classpath:user.properties"); + envVariable(ENV_INITIAL_PROPERTIES_LOCATION, "classpath:initial.properties"); + envVariable(ENV_OVERRIDE_PROPERTIES_LOCATION, "classpath:override.properties"); + envVariable(ENV_PROPERTY_PLACEHOLDER_LOCATION, "classpath:default.properties,classpath:user.properties"); Main main = new Main(); try { @@ -190,4 +171,92 @@ public class MainPropertyPlaceholderWithEnvTest { main.stop(); } } + + @AfterEach + protected void tearDown() { + for (Map.Entry<String, String> e : env.entrySet()) { + doEnvVariable(e.getKey(), e.getValue()); + } + env.clear(); + for (Map.Entry<String, String> e : sys.entrySet()) { + doSysVariable(e.getKey(), e.getValue()); + } + sys.clear(); + } + + protected void envVariable(String name, String value) { + env.put(name, System.getenv(name)); + doEnvVariable(name, value); + } + + protected void sysVariable(String name, String value) { + sys.put(name, System.getProperty(name)); + doSysVariable(name, value); + } + + private void doEnvVariable(String name, String value) { + if (value != null) { + getEditableMapOfVariables().put(name, value); + getTheCaseInsensitiveEnvironment().put(name, value); + } else { + getEditableMapOfVariables().remove(name); + getTheCaseInsensitiveEnvironment().remove(name); + } + } + + private void doSysVariable(String name, String value) { + if (value != null) { + System.setProperty(name, value); + } else { + System.getProperties().remove(name); + } + } + + private static Map<String, String> getEditableMapOfVariables() { + Class<?> classOfMap = System.getenv().getClass(); + try { + return getFieldValue(classOfMap, System.getenv(), "m"); + } catch (IllegalAccessException e) { + throw new RuntimeException("System Rules cannot access the field" + + " 'm' of the map System.getenv().", e); + } catch (NoSuchFieldException e) { + throw new RuntimeException("System Rules expects System.getenv() to" + + " have a field 'm' but it has not.", e); + } + } + + /* + * The names of environment variables are case-insensitive in Windows. + * Therefore it stores the variables in a TreeMap named + * theCaseInsensitiveEnvironment. + */ + private static Map<String, String> getTheCaseInsensitiveEnvironment() { + try { + Class<?> processEnvironment = Class.forName("java.lang.ProcessEnvironment"); + return getFieldValue( + processEnvironment, null, "theCaseInsensitiveEnvironment"); + } catch (ClassNotFoundException e) { + throw new RuntimeException("System Rules expects the existence of" + + " the class java.lang.ProcessEnvironment but it does not" + + " exist.", e); + } catch (IllegalAccessException e) { + throw new RuntimeException("System Rules cannot access the static" + + " field 'theCaseInsensitiveEnvironment' of the class" + + " java.lang.ProcessEnvironment.", e); + } catch (NoSuchFieldException e) { + //this field is only available for Windows so return a unused map + return THE_CASE_INSENSITIVE_ENVIRONMENT; + } + } + + private static Map<String, String> getFieldValue( + Class<?> klass, + Object object, + String name + ) throws NoSuchFieldException, IllegalAccessException { + Field field = klass.getDeclaredField(name); + field.setAccessible(true); + return (Map<String, String>) field.get(object); + } + } diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderWithSystemTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderWithSystemTest.java index 98365d7..23ccc37 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderWithSystemTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainPropertyPlaceholderWithSystemTest.java @@ -18,10 +18,10 @@ package org.apache.camel.main; import java.util.Properties; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainPropertyPlaceholderWithSystemTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +public class MainPropertyPlaceholderWithSystemTest { @Test public void testCustomPropertyPlaceholderLocation() { Main main = new Main(); diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainRouteOrderedTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainRouteOrderedTest.java index 3c50cb0..824e293 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainRouteOrderedTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainRouteOrderedTest.java @@ -18,10 +18,10 @@ package org.apache.camel.main; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainRouteOrderedTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +public class MainRouteOrderedTest { @Test public void testOrdered() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorPackageScanTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorPackageScanTest.java index 06a4b1d..360ff78 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorPackageScanTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorPackageScanTest.java @@ -18,10 +18,11 @@ package org.apache.camel.main; import org.apache.camel.CamelContext; import org.apache.camel.component.mock.MockEndpoint; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainRoutesCollectorPackageScanTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +public class MainRoutesCollectorPackageScanTest { @Test public void testMainRoutesCollector() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorTest.java index 56ab2ec..f1edae9 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorTest.java @@ -19,10 +19,11 @@ package org.apache.camel.main; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainRoutesCollectorTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +public class MainRoutesCollectorTest { @Test public void testMainRoutesCollector() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainSedaTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainSedaTest.java index 07bb38e..a73afb3 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainSedaTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainSedaTest.java @@ -19,10 +19,12 @@ package org.apache.camel.main; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.seda.SedaComponent; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainSedaTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +public class MainSedaTest { @Test public void testSedaMain() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainSedaWildcardTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainSedaWildcardTest.java index e6f884a..5a81f87 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainSedaWildcardTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainSedaWildcardTest.java @@ -19,10 +19,12 @@ package org.apache.camel.main; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.seda.SedaComponent; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainSedaWildcardTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +public class MainSedaWildcardTest { @Test public void testSedaWildcardMain() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainSupervisingRouteControllerFilterFailToStartRouteTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainSupervisingRouteControllerFilterFailToStartRouteTest.java index 6f064e1..5c7d114 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainSupervisingRouteControllerFilterFailToStartRouteTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainSupervisingRouteControllerFilterFailToStartRouteTest.java @@ -26,10 +26,11 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.seda.SedaComponent; import org.apache.camel.component.seda.SedaConsumer; import org.apache.camel.component.seda.SedaEndpoint; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainSupervisingRouteControllerFilterFailToStartRouteTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.fail; +public class MainSupervisingRouteControllerFilterFailToStartRouteTest { @Test public void testMain() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainSupervisingRouteControllerTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainSupervisingRouteControllerTest.java index 53a1a71..c65f767 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainSupervisingRouteControllerTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainSupervisingRouteControllerTest.java @@ -29,10 +29,12 @@ import org.apache.camel.component.seda.SedaComponent; import org.apache.camel.component.seda.SedaConsumer; import org.apache.camel.component.seda.SedaEndpoint; import org.apache.camel.spi.SupervisingRouteController; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainSupervisingRouteControllerTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; +public class MainSupervisingRouteControllerTest { @Test public void testMain() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainSupportCommandLineTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainSupportCommandLineTest.java index 6d9c30f..bd8072c 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainSupportCommandLineTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainSupportCommandLineTest.java @@ -19,8 +19,7 @@ package org.apache.camel.main; import org.apache.camel.CamelContext; import org.apache.camel.ProducerTemplate; import org.apache.camel.impl.DefaultCamelContext; -import org.junit.Test; - +import org.junit.jupiter.api.Test; public class MainSupportCommandLineTest { private class MyMainSupport extends MainCommandLineSupport { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainTest.java index f9dcf4d..d3e1b51 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainTest.java @@ -22,12 +22,15 @@ import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.spi.ManagementStrategy; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; import static org.apache.camel.util.CollectionHelper.propertiesOf; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; -public class MainTest extends Assert { +public class MainTest { @Test public void testMain() throws Exception { @@ -41,7 +44,7 @@ public class MainTest extends Assert { CamelContext camelContext = main.getCamelContext(); assertNotNull(camelContext); - assertEquals("Could not find the registry bound object", 31, camelContext.getRegistry().lookupByName("foo")); + assertEquals(31, camelContext.getRegistry().lookupByName("foo"), "Could not find the registry bound object"); MockEndpoint endpoint = camelContext.getEndpoint("mock:results", MockEndpoint.class); endpoint.expectedMinimumMessageCount(1); @@ -68,7 +71,7 @@ public class MainTest extends Assert { CamelContext camelContext = main.getCamelContext(); - assertEquals("Could not find the registry bound object", 31, camelContext.getRegistry().lookupByName("foo")); + assertEquals(31, camelContext.getRegistry().lookupByName("foo"), "Could not find the registry bound object"); MockEndpoint endpoint = camelContext.getEndpoint("mock:results", MockEndpoint.class); endpoint.expectedMinimumMessageCount(1); @@ -119,7 +122,7 @@ public class MainTest extends Assert { main.start(); CamelContext camelContext = main.getCamelContext(); - assertFalse("Tracing should be disabled", camelContext.isTracing()); + assertFalse(camelContext.isTracing(), "Tracing should be disabled"); main.stop(); } @@ -142,7 +145,7 @@ public class MainTest extends Assert { CamelContext camelContext = main.getCamelContext(); ManagementStrategy strategy = camelContext.getManagementStrategy(); - assertEquals("DurationMaxMessages should be set to 1", 1, durationMaxMessages.get()); + assertEquals(1, durationMaxMessages.get(), "DurationMaxMessages should be set to 1"); assertTrue(strategy.getEventNotifiers().stream().anyMatch(n -> n instanceof MainDurationEventNotifier)); main.stop(); diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainThreadPoolTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainThreadPoolTest.java index ac25e8c..f5225c5 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainThreadPoolTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainThreadPoolTest.java @@ -19,10 +19,11 @@ package org.apache.camel.main; import org.apache.camel.CamelContext; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.spi.ThreadPoolProfile; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainThreadPoolTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +public class MainThreadPoolTest { @Test public void testDefaultThreadPool() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainVetoTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainVetoTest.java index 58099d3..145374a 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainVetoTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainVetoTest.java @@ -20,10 +20,10 @@ import org.apache.camel.CamelContext; import org.apache.camel.VetoCamelContextStartException; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.support.LifecycleStrategySupport; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainVetoTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +public class MainVetoTest { @Test public void testMain() throws Exception { diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainWithRestConfigTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainWithRestConfigTest.java index 64e0b9d..73d0973 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/MainWithRestConfigTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/MainWithRestConfigTest.java @@ -19,10 +19,10 @@ package org.apache.camel.main; import java.util.Properties; import org.apache.camel.builder.RouteBuilder; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainWithRestConfigTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +public class MainWithRestConfigTest { @Test public void testRestConfigurationPropagation() { Properties properties = new Properties(); diff --git a/core/camel-main/src/test/java/org/apache/camel/main/ServicesAutoConfigurationTest.java b/core/camel-main/src/test/java/org/apache/camel/main/ServicesAutoConfigurationTest.java index 581619c..e176d68 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/ServicesAutoConfigurationTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/ServicesAutoConfigurationTest.java @@ -19,10 +19,11 @@ package org.apache.camel.main; import java.util.Properties; import org.apache.camel.component.seda.SedaComponent; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class ServicesAutoConfigurationTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +public class ServicesAutoConfigurationTest { @Test public void testComponentAutoConfiguredWhenGlobalAutoConfigurationIsDisabled() { Properties properties = new Properties(); diff --git a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java b/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java index 8b3b331..837a1b8 100644 --- a/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java +++ b/core/camel-main/src/test/java/org/apache/camel/main/xml/MainXmlTest.java @@ -19,10 +19,11 @@ package org.apache.camel.main.xml; import org.apache.camel.CamelContext; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.main.Main; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Test; -public class MainXmlTest extends Assert { +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +public class MainXmlTest { @Test public void testMainRoutesCollector() throws Exception {