You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/10/27 10:58:30 UTC
[camel] branch master updated: CAMEL-11955: Fixed
@RunWith(CamelSpringBoot) to startup CamelContext like the other @RunWith
runner. It started CamelContext to eager before,
which causes testing with advice with etc not working.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 972865e CAMEL-11955: Fixed @RunWith(CamelSpringBoot) to startup CamelContext like the other @RunWith runner. It started CamelContext to eager before, which causes testing with advice with etc not working.
972865e is described below
commit 972865e512f2170193bcb50250bc2b4d10784a50
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Oct 27 12:54:32 2017 +0200
CAMEL-11955: Fixed @RunWith(CamelSpringBoot) to startup CamelContext like the other @RunWith runner. It started CamelContext to eager before, which causes testing with advice with etc not working.
---
.../org/apache/camel/spring/boot/mockendpoints/AdviceWithTest.java | 6 ++++++
.../apache/camel/test/spring/CamelSpringBootExecutionListener.java | 7 +++----
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/AdviceWithTest.java b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/AdviceWithTest.java
index ccf2bf0..ef5c3ea 100644
--- a/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/AdviceWithTest.java
+++ b/components/camel-spring-boot/src/test/java/org/apache/camel/spring/boot/mockendpoints/AdviceWithTest.java
@@ -28,6 +28,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.context.SpringBootTest;
+import static org.junit.Assert.assertFalse;
+
@RunWith(CamelSpringBootRunner.class)
@UseAdviceWith
@SpringBootApplication
@@ -42,6 +44,9 @@ public class AdviceWithTest {
@Test
public void shouldMockEndpoints() throws Exception {
+ // context should not be started because we enabled @UseAdviceWith
+ assertFalse(camelContext.getStatus().isStarted());
+
camelContext.getRouteDefinitions().get(0).adviceWith(camelContext, new AdviceWithRouteBuilder() {
@Override
public void configure() throws Exception {
@@ -50,6 +55,7 @@ public class AdviceWithTest {
}
});
+ // manual start camel
camelContext.start();
MockEndpoint mock = camelContext.getEndpoint("mock:result", MockEndpoint.class);
diff --git a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootExecutionListener.java b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootExecutionListener.java
index fb4836f..e6955cd 100644
--- a/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootExecutionListener.java
+++ b/components/camel-test-spring/src/main/java/org/apache/camel/test/spring/CamelSpringBootExecutionListener.java
@@ -39,6 +39,7 @@ public class CamelSpringBootExecutionListener extends AbstractTestExecutionListe
// is added to Spring ApplicationContext, so we set the flag
// not to start it just yet
SpringCamelContext.setNoStart(true);
+ System.setProperty("skipStartingCamelContext", "true");
ConfigurableApplicationContext context = (ConfigurableApplicationContext) testContext.getApplicationContext();
// Post CamelContext(s) instantiation but pre CamelContext(s) start setup
@@ -47,11 +48,9 @@ public class CamelSpringBootExecutionListener extends AbstractTestExecutionListe
CamelAnnotationsHandler.handleMockEndpoints(context, testClass);
CamelAnnotationsHandler.handleMockEndpointsAndSkip(context, testClass);
CamelAnnotationsHandler.handleUseOverridePropertiesWithPropertiesComponent(context, testClass);
- SpringCamelContext.setNoStart(false);
- CamelContext camelContext = context.getBean(CamelContext.class);
- // after our customizations we should start the CamelContext
- camelContext.start();
+ System.clearProperty("skipStartingCamelContext");
+ SpringCamelContext.setNoStart(false);
}
@Override
--
To stop receiving notification emails like this one, please contact
['"commits@camel.apache.org" <co...@camel.apache.org>'].