Created
December 10, 2021 14:47
-
-
Save radio042/b71717d5634eaa634c9affc1021eacfb to your computer and use it in GitHub Desktop.
Failing Camel Quarkus route test using transacted
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0"?> | |
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" | |
xmlns="http://maven.apache.org/POM/4.0.0" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | |
<modelVersion>4.0.0</modelVersion> | |
<groupId>org.acme</groupId> | |
<artifactId>camel-demo</artifactId> | |
<packaging>pom</packaging> | |
<version>1.0.0-SNAPSHOT</version> | |
<modules> | |
<module>test-module</module> | |
</modules> | |
<properties> | |
<compiler-plugin.version>3.8.1</compiler-plugin.version> | |
<maven.compiler.parameters>true</maven.compiler.parameters> | |
<maven.compiler.source>11</maven.compiler.source> | |
<maven.compiler.target>11</maven.compiler.target> | |
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> | |
<quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id> | |
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id> | |
<quarkus.platform.version>2.5.1.Final</quarkus.platform.version> | |
<surefire-plugin.version>3.0.0-M5</surefire-plugin.version> | |
<camel.version>3.9.0</camel.version> | |
<logback.version>1.2.3</logback.version> | |
</properties> | |
<dependencyManagement> | |
<dependencies> | |
<dependency> | |
<groupId>${quarkus.platform.group-id}</groupId> | |
<artifactId>${quarkus.platform.artifact-id}</artifactId> | |
<version>${quarkus.platform.version}</version> | |
<type>pom</type> | |
<scope>import</scope> | |
</dependency> | |
</dependencies> | |
</dependencyManagement> | |
<dependencies> | |
<dependency> | |
<groupId>org.apache.camel.quarkus</groupId> | |
<artifactId>camel-quarkus-http</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.camel.quarkus</groupId> | |
<artifactId>camel-quarkus-servlet</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.camel.quarkus</groupId> | |
<artifactId>camel-quarkus-json-validator</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.camel.quarkus</groupId> | |
<artifactId>camel-quarkus-rest</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.camel.quarkus</groupId> | |
<artifactId>camel-quarkus-bean</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.camel.quarkus</groupId> | |
<artifactId>camel-quarkus-jsonpath</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.camel.quarkus</groupId> | |
<artifactId>camel-quarkus-core</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.camel.quarkus</groupId> | |
<artifactId>camel-quarkus-kafka</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.camel</groupId> | |
<artifactId>camel-test-junit5</artifactId> | |
<version>${camel.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>ch.qos.logback</groupId> | |
<artifactId>logback-classic</artifactId> | |
<version>${logback.version}</version> | |
</dependency> | |
<dependency> | |
<groupId>org.apache.camel.quarkus</groupId> | |
<artifactId>camel-quarkus-jta</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>io.quarkus</groupId> | |
<artifactId>quarkus-junit5-mockito</artifactId> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<groupId>org.mockito</groupId> | |
<artifactId>mockito-core</artifactId> | |
<scope>test</scope> | |
</dependency> | |
<dependency> | |
<groupId>org.mockito</groupId> | |
<artifactId>mockito-junit-jupiter</artifactId> | |
<scope>test</scope> | |
</dependency> | |
</dependencies> | |
<build> | |
<plugins> | |
<plugin> | |
<groupId>io.quarkus</groupId> | |
<artifactId>quarkus-maven-plugin</artifactId> | |
<version>${quarkus.platform.version}</version> | |
<extensions>true</extensions> | |
<executions> | |
<execution> | |
<goals> | |
<goal>build</goal> | |
<goal>generate-code</goal> | |
<goal>generate-code-tests</goal> | |
</goals> | |
</execution> | |
</executions> | |
</plugin> | |
<plugin> | |
<artifactId>maven-compiler-plugin</artifactId> | |
<version>${compiler-plugin.version}</version> | |
<configuration> | |
<parameters>${maven.compiler.parameters}</parameters> | |
</configuration> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-surefire-plugin</artifactId> | |
<version>${surefire-plugin.version}</version> | |
<configuration> | |
<classpathDependencyExcludes> | |
<classpathDependencyExclude>org.jboss.slf4j:slf4j-jboss-logmanager</classpathDependencyExclude> | |
</classpathDependencyExcludes> | |
</configuration> | |
</plugin> | |
</plugins> | |
</build> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package org.sharedpool; | |
import org.apache.camel.builder.RouteBuilder; | |
import org.apache.camel.component.mock.MockEndpoint; | |
import org.apache.camel.spi.Registry; | |
import org.apache.camel.spi.TransactedPolicy; | |
import org.apache.camel.support.SimpleRegistry; | |
import org.apache.camel.test.junit5.CamelTestSupport; | |
import org.junit.jupiter.api.Test; | |
import java.util.Map; | |
import static org.mockito.Mockito.mock; | |
public class TransactedTest extends CamelTestSupport { | |
@Override | |
protected Registry createCamelRegistry() { | |
SimpleRegistry simpleRegistry = new SimpleRegistry(); | |
simpleRegistry.put("PROPAGATION_REQUIRED", Map.of(TransactedPolicy.class, mock(TransactedPolicy.class))); | |
return simpleRegistry; | |
} | |
@Override | |
protected RouteBuilder createRouteBuilder() { | |
return new RouteBuilder() { | |
@Override | |
public void configure() throws Exception { | |
from("direct:in") | |
.transacted() | |
.to("mock:out"); | |
} | |
}; | |
} | |
@Test | |
void test() throws InterruptedException { | |
MockEndpoint mockEndpoint = getMockEndpoint("mock:out"); | |
mockEndpoint.expectedMessageCount(1); | |
template.sendBody("direct:in", "hello"); | |
assertMockEndpointsSatisfied(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment