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 8d5c80058fcab27b3944c716dfc55b984ced1a74 Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Fri Mar 12 14:52:04 2021 +0100 Enable parallel tests on dsl (excluded the management tests) --- dsl/camel-xml-jaxb-dsl-test/management/pom.xml | 3 +- ...ManagedCamelContextUpdateRoutesFromXmlTest.java | 16 ++++----- ...RoutesWithPropertyPlaceholdersFromXmlPTest.java | 31 ++++++----------- .../ManagedRouteUpdateRouteFromXmlTest.java | 26 ++++---------- .../xml/jaxb/management/ManagementTestSupport.java | 40 ++++++++++++++++++++++ dsl/pom.xml | 1 + 6 files changed, 66 insertions(+), 51 deletions(-) diff --git a/dsl/camel-xml-jaxb-dsl-test/management/pom.xml b/dsl/camel-xml-jaxb-dsl-test/management/pom.xml index ef14996..b7cd34d 100644 --- a/dsl/camel-xml-jaxb-dsl-test/management/pom.xml +++ b/dsl/camel-xml-jaxb-dsl-test/management/pom.xml @@ -28,13 +28,14 @@ <version>3.9.0-SNAPSHOT</version> </parent> - <artifactId>camel-xml-jaxb-dsl-test-managemenr</artifactId> + <artifactId>camel-xml-jaxb-dsl-test-management</artifactId> <packaging>jar</packaging> <name>Camel :: XML DSL Jaxb :: Test :: Management</name> <description>Camel XML DSL Tests with Jaxb and Management</description> <properties> <firstVersion>3.9.0</firstVersion> + <camel.surefire.parallel>false</camel.surefire.parallel> </properties> <dependencies> diff --git a/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedCamelContextUpdateRoutesFromXmlTest.java b/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedCamelContextUpdateRoutesFromXmlTest.java index d8f7320..74f1824 100644 --- a/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedCamelContextUpdateRoutesFromXmlTest.java +++ b/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedCamelContextUpdateRoutesFromXmlTest.java @@ -25,17 +25,13 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.junit.jupiter.api.Test; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.TYPE_ROUTE; import static org.junit.jupiter.api.Assertions.assertEquals; public class ManagedCamelContextUpdateRoutesFromXmlTest extends ManagementTestSupport { @Test public void testDumpAsXml() throws Exception { - // JMX tests dont work well on AIX CI servers (hangs them) - if (isPlatform("aix")) { - return; - } - MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedBodiesReceived("Hello World"); template.sendBody("direct:start", "Hello World"); @@ -44,8 +40,8 @@ public class ManagedCamelContextUpdateRoutesFromXmlTest extends ManagementTestSu MBeanServer mbeanServer = getMBeanServer(); // there should be 1 routes to start with - Set<ObjectName> set = mbeanServer.queryNames(new ObjectName("*:type=routes,*"), null); - assertEquals(1, set.size()); + Set<ObjectName> set = mbeanServer.queryNames(getCamelObjectName(TYPE_ROUTE, "*"), null); + assertEquals(1, set.size(), set.toString()); // update existing route, and add a 2nd String xml = "<routes id=\"myRoute\" xmlns=\"http://camel.apache.org/schema/spring\">" @@ -60,12 +56,12 @@ public class ManagedCamelContextUpdateRoutesFromXmlTest extends ManagementTestSu + "</route>" + "</routes>"; - ObjectName on = ObjectName.getInstance("org.apache.camel:context=camel-1,type=context,name=\"camel-1\""); + ObjectName on = getContextObjectName(); mbeanServer.invoke(on, "addOrUpdateRoutesFromXml", new Object[] { xml }, new String[] { "java.lang.String" }); // there should be 2 routes now - set = mbeanServer.queryNames(new ObjectName("*:type=routes,*"), null); - assertEquals(2, set.size()); + set = mbeanServer.queryNames(getCamelObjectName(TYPE_ROUTE, "*"), null); + assertEquals(2, set.size(), set.toString()); // test updated route getMockEndpoint("mock:changed").expectedMessageCount(1); diff --git a/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedCamelContextUpdateRoutesWithPropertyPlaceholdersFromXmlPTest.java b/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedCamelContextUpdateRoutesWithPropertyPlaceholdersFromXmlPTest.java index c15a35e..a71cd12 100644 --- a/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedCamelContextUpdateRoutesWithPropertyPlaceholdersFromXmlPTest.java +++ b/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedCamelContextUpdateRoutesWithPropertyPlaceholdersFromXmlPTest.java @@ -27,6 +27,7 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.junit.jupiter.api.Test; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.TYPE_ROUTE; import static org.junit.jupiter.api.Assertions.assertEquals; public class ManagedCamelContextUpdateRoutesWithPropertyPlaceholdersFromXmlPTest extends ManagementTestSupport { @@ -46,11 +47,6 @@ public class ManagedCamelContextUpdateRoutesWithPropertyPlaceholdersFromXmlPTest @Test public void testUpdate() throws Exception { - // JMX tests dont work well on AIX CI servers (hangs them) - if (isPlatform("aix")) { - return; - } - MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedBodiesReceived("Hello World"); template.sendBody("direct:start", "Hello World"); @@ -59,8 +55,8 @@ public class ManagedCamelContextUpdateRoutesWithPropertyPlaceholdersFromXmlPTest MBeanServer mbeanServer = getMBeanServer(); // there should be 1 routes to start with - Set<ObjectName> set = mbeanServer.queryNames(new ObjectName("*:type=routes,*"), null); - assertEquals(1, set.size()); + Set<ObjectName> set = mbeanServer.queryNames(getCamelObjectName(TYPE_ROUTE, "*"), null); + assertEquals(1, set.size(), set.toString()); // update existing route, and add a 2nd String xml = "<routes id=\"myRoute\" xmlns=\"http://camel.apache.org/schema/spring\">" @@ -75,12 +71,12 @@ public class ManagedCamelContextUpdateRoutesWithPropertyPlaceholdersFromXmlPTest + "</route>" + "</routes>"; - ObjectName on = ObjectName.getInstance("org.apache.camel:context=camel-1,type=context,name=\"camel-1\""); + ObjectName on = getContextObjectName(); mbeanServer.invoke(on, "addOrUpdateRoutesFromXml", new Object[] { xml }, new String[] { "java.lang.String" }); // there should be 2 routes now - set = mbeanServer.queryNames(new ObjectName("*:type=routes,*"), null); - assertEquals(2, set.size()); + set = mbeanServer.queryNames(getCamelObjectName(TYPE_ROUTE, "*"), null); + assertEquals(2, set.size(), set.toString()); // test updated route getMockEndpoint("mock:changed").expectedMessageCount(1); @@ -95,11 +91,6 @@ public class ManagedCamelContextUpdateRoutesWithPropertyPlaceholdersFromXmlPTest @Test public void testUpdateEscaped() throws Exception { - // JMX tests dont work well on AIX CI servers (hangs them) - if (isPlatform("aix")) { - return; - } - MockEndpoint mock = getMockEndpoint("mock:result"); mock.expectedBodiesReceived("Hello World"); template.sendBody("direct:start", "Hello World"); @@ -108,8 +99,8 @@ public class ManagedCamelContextUpdateRoutesWithPropertyPlaceholdersFromXmlPTest MBeanServer mbeanServer = getMBeanServer(); // there should be 1 routes to start with - Set<ObjectName> set = mbeanServer.queryNames(new ObjectName("*:type=routes,*"), null); - assertEquals(1, set.size()); + Set<ObjectName> set = mbeanServer.queryNames(getCamelObjectName(TYPE_ROUTE, "*"), null); + assertEquals(1, set.size(), set.toString()); // update existing route, and add a 2nd String xml = "<routes id=\"myRoute\" xmlns=\"http://camel.apache.org/schema/spring\">" @@ -124,13 +115,13 @@ public class ManagedCamelContextUpdateRoutesWithPropertyPlaceholdersFromXmlPTest + "</route>" + "</routes>"; - ObjectName on = ObjectName.getInstance("org.apache.camel:context=camel-1,type=context,name=\"camel-1\""); + ObjectName on = getContextObjectName(); mbeanServer.invoke(on, "addOrUpdateRoutesFromXml", new Object[] { xml, true }, new String[] { "java.lang.String", "boolean" }); // there should be 2 routes now - set = mbeanServer.queryNames(new ObjectName("*:type=routes,*"), null); - assertEquals(2, set.size()); + set = mbeanServer.queryNames(getCamelObjectName(TYPE_ROUTE, "*"), null); + assertEquals(2, set.size(), set.toString()); // test updated route getMockEndpoint("mock:changed").expectedMessageCount(1); diff --git a/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedRouteUpdateRouteFromXmlTest.java b/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedRouteUpdateRouteFromXmlTest.java index 15d9283..b854159 100644 --- a/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedRouteUpdateRouteFromXmlTest.java +++ b/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagedRouteUpdateRouteFromXmlTest.java @@ -25,6 +25,7 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.junit.jupiter.api.Test; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.TYPE_ROUTE; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.fail; @@ -32,11 +33,6 @@ public class ManagedRouteUpdateRouteFromXmlTest extends ManagementTestSupport { @Test public void testUpdateRouteFromXml() throws Exception { - // JMX tests dont work well on AIX CI servers (hangs them) - if (isPlatform("aix")) { - return; - } - MBeanServer mbeanServer = getMBeanServer(); ObjectName on = getRouteObjectName(mbeanServer); @@ -59,7 +55,7 @@ public class ManagedRouteUpdateRouteFromXmlTest extends ManagementTestSupport { mbeanServer.invoke(on, "updateRouteFromXml", new Object[] { xml }, new String[] { "java.lang.String" }); - assertEquals(1, context.getRoutes().size()); + assertEquals(1, context.getRoutes().size(), context.getRoutes().toString()); getMockEndpoint("mock:changed").expectedMessageCount(1); @@ -70,11 +66,6 @@ public class ManagedRouteUpdateRouteFromXmlTest extends ManagementTestSupport { @Test public void testUpdateRouteFromXmlWithoutRouteId() throws Exception { - // JMX tests dont work well on AIX CI servers (hangs them) - if (isPlatform("aix")) { - return; - } - MBeanServer mbeanServer = getMBeanServer(); ObjectName on = getRouteObjectName(mbeanServer); @@ -97,7 +88,7 @@ public class ManagedRouteUpdateRouteFromXmlTest extends ManagementTestSupport { mbeanServer.invoke(on, "updateRouteFromXml", new Object[] { xml }, new String[] { "java.lang.String" }); - assertEquals(1, context.getRoutes().size()); + assertEquals(1, context.getRoutes().size(), context.getRoutes().toString()); getMockEndpoint("mock:changed").expectedMessageCount(1); @@ -108,11 +99,6 @@ public class ManagedRouteUpdateRouteFromXmlTest extends ManagementTestSupport { @Test public void testUpdateRouteFromXmlMismatchRouteId() throws Exception { - // JMX tests dont work well on AIX CI servers (hangs them) - if (isPlatform("aix")) { - return; - } - MBeanServer mbeanServer = getMBeanServer(); ObjectName on = getRouteObjectName(mbeanServer); @@ -143,9 +129,9 @@ public class ManagedRouteUpdateRouteFromXmlTest extends ManagementTestSupport { } } - static ObjectName getRouteObjectName(MBeanServer mbeanServer) throws Exception { - Set<ObjectName> set = mbeanServer.queryNames(new ObjectName("*:type=routes,*"), null); - assertEquals(1, set.size()); + ObjectName getRouteObjectName(MBeanServer mbeanServer) throws Exception { + Set<ObjectName> set = mbeanServer.queryNames(getCamelObjectName(TYPE_ROUTE, "*"), null); + assertEquals(1, set.size(), set.toString()); return set.iterator().next(); } diff --git a/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagementTestSupport.java b/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagementTestSupport.java index 5ac3de8..2284b83 100644 --- a/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagementTestSupport.java +++ b/dsl/camel-xml-jaxb-dsl-test/management/src/test/java/org/apache/camel/dsl/xml/jaxb/management/ManagementTestSupport.java @@ -22,11 +22,24 @@ import javax.management.InstanceNotFoundException; import javax.management.MBeanException; import javax.management.MBeanServer; import javax.management.MBeanServerConnection; +import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import javax.management.ReflectionException; import org.apache.camel.ContextTestSupport; +import static org.apache.camel.management.DefaultManagementAgent.DEFAULT_DOMAIN; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.KEY_CONTEXT; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.KEY_NAME; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.KEY_TYPE; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.TYPE_COMPONENT; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.TYPE_CONTEXT; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.TYPE_ENDPOINT; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.TYPE_PROCESSOR; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.TYPE_ROUTE; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.TYPE_STEP; +import static org.apache.camel.management.DefaultManagementObjectNameStrategy.TYPE_THREAD_POOL; + /** * Base class for JMX tests. */ @@ -53,4 +66,31 @@ public abstract class ManagementTestSupport extends ContextTestSupport { throws InstanceNotFoundException, MBeanException, ReflectionException, IOException { return (T) server.invoke(name, operationName, params, signature); } + + public ObjectName getContextObjectName() throws MalformedObjectNameException { + return getCamelObjectName(TYPE_CONTEXT, context.getName()); + } + + public ObjectName getCamelObjectName(String type, String name) throws MalformedObjectNameException { + String quote; + switch (type) { + case TYPE_CONTEXT: + case TYPE_COMPONENT: + case TYPE_ENDPOINT: + case TYPE_PROCESSOR: + case TYPE_ROUTE: + case TYPE_THREAD_POOL: + case TYPE_STEP: + quote = "\""; + break; + default: + quote = ""; + break; + } + String on = DEFAULT_DOMAIN + ":" + + KEY_CONTEXT + "=" + context.getManagementName() + "," + + KEY_TYPE + "=" + type + "," + + KEY_NAME + "=" + quote + name + quote; + return ObjectName.getInstance(on); + } } diff --git a/dsl/pom.xml b/dsl/pom.xml index bcea21e..622cf3d 100644 --- a/dsl/pom.xml +++ b/dsl/pom.xml @@ -43,6 +43,7 @@ <properties> <camel.osgi.manifest>${project.build.outputDirectory}/META-INF/MANIFEST.MF</camel.osgi.manifest> + <camel.surefire.parallel>true</camel.surefire.parallel> </properties> <build>