You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2020/11/23 14:52:31 UTC
[camel] branch master updated: Simplified exception testing (#4661)
This is an automated email from the ASF dual-hosted git repository.
orpiske 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 1e6bb0b Simplified exception testing (#4661)
1e6bb0b is described below
commit 1e6bb0b584aa5960a1c2bd668ba12a609205c5f0
Author: Otavio Rodolfo Piske <or...@users.noreply.github.com>
AuthorDate: Mon Nov 23 15:52:08 2020 +0100
Simplified exception testing (#4661)
Avoids false positives when the expected exception is thrown by a different method other than the one under test.
Components: camel-jaxb, camel-mongodb, camel-servicenow, camel-snakeyaml
---
.../JaxbDataFormatSchemaValidationSpringTest.java | 83 ++++++++++------------
.../jaxb/JaxbDataFormatSchemaValidationTest.java | 42 ++++++-----
...ormatSchemaValidationWithObjectFactoryTest.java | 42 +++++------
.../org/apache/camel/example/JAXBConvertTest.java | 25 +++----
.../mongodb/MongoDbReadPreferenceOptionTest.java | 15 ++--
.../component/servicenow/ServiceNowTableTest.java | 33 +++++----
.../component/snakeyaml/SnakeYAMLDoSTest.java | 32 +++++----
7 files changed, 129 insertions(+), 143 deletions(-)
diff --git a/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationSpringTest.java b/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationSpringTest.java
index 99dc6a8..1e022f4 100644
--- a/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationSpringTest.java
+++ b/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationSpringTest.java
@@ -43,8 +43,8 @@ import org.springframework.context.support.ClassPathXmlApplicationContext;
import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
public class JaxbDataFormatSchemaValidationSpringTest extends CamelSpringTestSupport {
@@ -95,17 +95,17 @@ public class JaxbDataFormatSchemaValidationSpringTest extends CamelSpringTestSup
}
@Test
- public void testMarshallWithValidationException() throws Exception {
- try {
- template.sendBody("direct:marshall", new Person());
- fail("CamelExecutionException expected");
- } catch (CamelExecutionException e) {
- Throwable cause = e.getCause();
- assertIsInstanceOf(IOException.class, cause);
- assertTrue(cause.getMessage().contains("javax.xml.bind.MarshalException"));
- assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
- assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.a"));
- }
+ public void testMarshallWithValidationException() {
+ Person person = new Person();
+
+ Exception ex = assertThrows(CamelExecutionException.class,
+ () -> template.sendBody("direct:marshall", person));
+
+ Throwable cause = ex.getCause();
+ assertIsInstanceOf(IOException.class, cause);
+ assertTrue(cause.getMessage().contains("javax.xml.bind.MarshalException"));
+ assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
+ assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.a"));
}
@Test
@@ -134,35 +134,32 @@ public class JaxbDataFormatSchemaValidationSpringTest extends CamelSpringTestSup
}
@Test
- public void testUnmarshallWithValidationException() throws Exception {
+ public void testUnmarshallWithValidationException() {
String xml = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>")
.append("<person xmlns=\"person.jaxb.converter.camel.apache.org\" />")
.toString();
- try {
- template.sendBody("direct:unmarshall", xml);
- fail("CamelExecutionException expected");
- } catch (CamelExecutionException e) {
- Throwable cause = e.getCause();
- assertIsInstanceOf(IOException.class, cause);
- assertTrue(cause.getMessage().contains("javax.xml.bind.UnmarshalException"));
- assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
- assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
- }
+ Exception ex = assertThrows(CamelExecutionException.class,
+ () -> template.sendBody("direct:unmarshall", xml));
+
+ Throwable cause = ex.getCause();
+ assertIsInstanceOf(IOException.class, cause);
+ assertTrue(cause.getMessage().contains("javax.xml.bind.UnmarshalException"));
+ assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
+ assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
}
@Test
- public void testMarshallOfNonRootElementWithValidationException() throws Exception {
- try {
- template.sendBody("direct:marshall", new Message());
- fail("CamelExecutionException expected");
- } catch (CamelExecutionException e) {
- Throwable cause = e.getCause();
- assertIsInstanceOf(IOException.class, cause);
- assertTrue(cause.getMessage().contains("javax.xml.bind.MarshalException"));
- assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
- assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
- }
+ public void testMarshallOfNonRootElementWithValidationException() {
+ Message message = new Message();
+ Exception ex = assertThrows(CamelExecutionException.class,
+ () -> template.sendBody("direct:marshall", message));
+
+ Throwable cause = ex.getCause();
+ assertIsInstanceOf(IOException.class, cause);
+ assertTrue(cause.getMessage().contains("javax.xml.bind.MarshalException"));
+ assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
+ assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
}
@Test
@@ -175,16 +172,14 @@ public class JaxbDataFormatSchemaValidationSpringTest extends CamelSpringTestSup
xml = new String(baos.toByteArray(), "UTF-8");
}
- try {
- template.sendBody("direct:unmarshall", xml);
- fail("CamelExecutionException expected");
- } catch (CamelExecutionException e) {
- Throwable cause = e.getCause();
- assertIsInstanceOf(IOException.class, cause);
- assertTrue(cause.getMessage().contains("javax.xml.bind.UnmarshalException"));
- assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
- assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
- }
+ Exception ex = assertThrows(CamelExecutionException.class,
+ () -> template.sendBody("direct:unmarshall", xml));
+
+ Throwable cause = ex.getCause();
+ assertIsInstanceOf(IOException.class, cause);
+ assertTrue(cause.getMessage().contains("javax.xml.bind.UnmarshalException"));
+ assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
+ assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
}
@Override
diff --git a/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationTest.java b/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationTest.java
index cc8c53d..8a8acbd 100644
--- a/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationTest.java
+++ b/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationTest.java
@@ -31,8 +31,8 @@ import org.slf4j.LoggerFactory;
import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
public class JaxbDataFormatSchemaValidationTest extends CamelTestSupport {
@@ -76,17 +76,17 @@ public class JaxbDataFormatSchemaValidationTest extends CamelTestSupport {
}
@Test
- public void testMarshallWithValidationException() throws Exception {
- try {
- template.sendBody("direct:marshall", new Person());
- fail("CamelExecutionException expected");
- } catch (CamelExecutionException e) {
- Throwable cause = e.getCause();
- assertIsInstanceOf(IOException.class, cause);
- assertTrue(cause.getMessage().contains("javax.xml.bind.MarshalException"));
- assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
- assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.a"));
- }
+ public void testMarshallWithValidationException() {
+ Person person = new Person();
+
+ Exception ex = assertThrows(CamelExecutionException.class,
+ () -> template.sendBody("direct:marshall", person));
+
+ Throwable cause = ex.getCause();
+ assertIsInstanceOf(IOException.class, cause);
+ assertTrue(cause.getMessage().contains("javax.xml.bind.MarshalException"));
+ assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
+ assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.a"));
}
@Test
@@ -120,16 +120,14 @@ public class JaxbDataFormatSchemaValidationTest extends CamelTestSupport {
.append("<person xmlns=\"person.jaxb.converter.camel.apache.org\" />")
.toString();
- try {
- template.sendBody("direct:unmarshall", xml);
- fail("CamelExecutionException expected");
- } catch (CamelExecutionException e) {
- Throwable cause = e.getCause();
- assertIsInstanceOf(IOException.class, cause);
- assertTrue(cause.getMessage().contains("javax.xml.bind.UnmarshalException"));
- assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
- assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
- }
+ Exception ex = assertThrows(CamelExecutionException.class,
+ () -> template.sendBody("direct:unmarshall", xml));
+
+ Throwable cause = ex.getCause();
+ assertIsInstanceOf(IOException.class, cause);
+ assertTrue(cause.getMessage().contains("javax.xml.bind.UnmarshalException"));
+ assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
+ assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
}
@Override
diff --git a/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationWithObjectFactoryTest.java b/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationWithObjectFactoryTest.java
index 2519d48..c23d58a 100644
--- a/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationWithObjectFactoryTest.java
+++ b/components/camel-jaxb/src/test/java/org/apache/camel/converter/jaxb/JaxbDataFormatSchemaValidationWithObjectFactoryTest.java
@@ -30,13 +30,13 @@ import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.converter.jaxb.message.Message;
import org.apache.camel.converter.jaxb.message.ObjectFactory;
import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
public class JaxbDataFormatSchemaValidationWithObjectFactoryTest extends CamelTestSupport {
@@ -61,22 +61,20 @@ public class JaxbDataFormatSchemaValidationWithObjectFactoryTest extends CamelTe
}
@Test
- public void testMarshallOfNonRootElementWithValidationException() throws Exception {
- try {
- template.sendBody("direct:marshall", new Message());
- fail("CamelExecutionException expected");
- } catch (CamelExecutionException e) {
- Throwable cause = e.getCause();
- assertIsInstanceOf(IOException.class, cause);
- assertTrue(cause.getMessage().contains("javax.xml.bind.MarshalException"));
- assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
- assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
- }
+ public void testMarshallOfNonRootElementWithValidationException() {
+ Message message = new Message();
+ Exception ex = Assertions.assertThrows(CamelExecutionException.class,
+ () -> template.sendBody("direct:marshall", message));
+
+ Throwable cause = ex.getCause();
+ assertIsInstanceOf(IOException.class, cause);
+ assertTrue(cause.getMessage().contains("javax.xml.bind.MarshalException"));
+ assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
+ assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
}
@Test
public void testUnmarshallOfNonRootWithValidationException() throws Exception {
-
JAXBElement<Message> message = new ObjectFactory().createMessage(new Message());
String xml;
@@ -85,16 +83,14 @@ public class JaxbDataFormatSchemaValidationWithObjectFactoryTest extends CamelTe
xml = new String(baos.toByteArray(), "UTF-8");
}
- try {
- template.sendBody("direct:unmarshall", xml);
- fail("CamelExecutionException expected");
- } catch (CamelExecutionException e) {
- Throwable cause = e.getCause();
- assertIsInstanceOf(IOException.class, cause);
- assertTrue(cause.getMessage().contains("javax.xml.bind.UnmarshalException"));
- assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
- assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
- }
+ Exception ex = Assertions.assertThrows(CamelExecutionException.class,
+ () -> template.sendBody("direct:unmarshall", xml));
+
+ Throwable cause = ex.getCause();
+ assertIsInstanceOf(IOException.class, cause);
+ assertTrue(cause.getMessage().contains("javax.xml.bind.UnmarshalException"));
+ assertTrue(cause.getMessage().contains("org.xml.sax.SAXParseException"));
+ assertTrue(cause.getMessage().contains("cvc-complex-type.2.4.b"));
}
@Override
diff --git a/components/camel-jaxb/src/test/java/org/apache/camel/example/JAXBConvertTest.java b/components/camel-jaxb/src/test/java/org/apache/camel/example/JAXBConvertTest.java
index 26e6fd9..8a6aa8f 100644
--- a/components/camel-jaxb/src/test/java/org/apache/camel/example/JAXBConvertTest.java
+++ b/components/camel-jaxb/src/test/java/org/apache/camel/example/JAXBConvertTest.java
@@ -22,12 +22,13 @@ import java.io.InputStream;
import org.apache.camel.NoTypeConversionAvailableException;
import org.apache.camel.StreamCache;
import org.apache.camel.TypeConversionException;
+import org.apache.camel.TypeConverter;
import org.apache.camel.test.junit5.ExchangeTestSupport;
+import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.fail;
public class JAXBConvertTest extends ExchangeTestSupport {
@@ -76,23 +77,19 @@ public class JAXBConvertTest extends ExchangeTestSupport {
String data = "<errorOrder name='foo' amount='123.45' price='2.22'/>";
InputStream is = new ByteArrayInputStream(data.getBytes());
- try {
- context.getTypeConverter().convertTo(PurchaseOrder.class, exchange, is);
- fail("Should have thrown exception");
- } catch (TypeConversionException e) {
- // expected
- }
+ TypeConverter converter = context.getTypeConverter();
+
+ Exception ex = Assertions.assertThrows(TypeConversionException.class,
+ () -> converter.convertTo(PurchaseOrder.class, exchange, is));
assertEquals(-1, is.read());
}
@Test
- public void testNoConversionForStreamCache() throws Exception {
+ public void testNoConversionForStreamCache() {
PurchaseOrder order = new PurchaseOrder();
- try {
- context.getTypeConverter().mandatoryConvertTo(StreamCache.class, exchange, order);
- fail("We should not use the JAXB FallbackTypeConverter for stream caching");
- } catch (NoTypeConversionAvailableException e) {
- //this is OK
- }
+
+ TypeConverter converter = context.getTypeConverter();
+ Exception ex = Assertions.assertThrows(NoTypeConversionAvailableException.class,
+ () -> converter.mandatoryConvertTo(StreamCache.class, exchange, order));
}
}
diff --git a/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/MongoDbReadPreferenceOptionTest.java b/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/MongoDbReadPreferenceOptionTest.java
index 9f09642..beabc84 100644
--- a/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/MongoDbReadPreferenceOptionTest.java
+++ b/components/camel-mongodb/src/test/java/org/apache/camel/component/mongodb/MongoDbReadPreferenceOptionTest.java
@@ -21,8 +21,8 @@ import org.apache.camel.Endpoint;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
public class MongoDbReadPreferenceOptionTest extends AbstractMongoDbTest {
@@ -30,13 +30,12 @@ public class MongoDbReadPreferenceOptionTest extends AbstractMongoDbTest {
@Test
public void testInvalidReadPreferenceOptionValue() throws Exception {
- try {
- endpoint = createMongoDbEndpoint("mongodb:myDb?database={{mongodb.testDb}}&readPreference=foo");
- endpoint.getReadPreferenceBean();
- fail("Should have thrown exception");
- } catch (IllegalArgumentException e) {
- assertTrue(e.getMessage().startsWith("No match for read preference"));
- }
+ endpoint = createMongoDbEndpoint("mongodb:myDb?database={{mongodb.testDb}}&readPreference=foo");
+
+ Exception ex = assertThrows(IllegalArgumentException.class,
+ () -> endpoint.getReadPreferenceBean());
+
+ assertTrue(ex.getMessage().startsWith("No match for read preference"));
}
@Test
diff --git a/components/camel-servicenow/camel-servicenow-component/src/test/java/org/apache/camel/component/servicenow/ServiceNowTableTest.java b/components/camel-servicenow/camel-servicenow-component/src/test/java/org/apache/camel/component/servicenow/ServiceNowTableTest.java
index a4a841a..c4c0972 100644
--- a/components/camel-servicenow/camel-servicenow-component/src/test/java/org/apache/camel/component/servicenow/ServiceNowTableTest.java
+++ b/components/camel-servicenow/camel-servicenow-component/src/test/java/org/apache/camel/component/servicenow/ServiceNowTableTest.java
@@ -17,9 +17,11 @@
package org.apache.camel.component.servicenow;
import java.util.List;
+import java.util.Map;
import org.apache.camel.CamelExecutionException;
import org.apache.camel.Exchange;
+import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.component.servicenow.model.Incident;
@@ -29,8 +31,8 @@ import org.junit.jupiter.api.Test;
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.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
public class ServiceNowTableTest extends ServiceNowTestSupport {
@@ -312,22 +314,19 @@ public class ServiceNowTableTest extends ServiceNowTestSupport {
{
LOGGER.info("Find the record {}, should fail", sysId);
- try {
- template().sendBodyAndHeaders(
- "direct:servicenow",
- null,
- kvBuilder()
- .put(ServiceNowConstants.RESOURCE, "table")
- .put(ServiceNowConstants.ACTION, ServiceNowConstants.ACTION_RETRIEVE)
- .put(ServiceNowParams.PARAM_SYS_ID, sysId)
- .put(ServiceNowParams.PARAM_TABLE_NAME, "incident")
- .build());
-
- fail("Record " + number + " should have been deleted");
- } catch (CamelExecutionException e) {
- assertTrue(e.getCause() instanceof ServiceNowException);
- // we are good
- }
+ Map<String, Object> build = kvBuilder()
+ .put(ServiceNowConstants.RESOURCE, "table")
+ .put(ServiceNowConstants.ACTION, ServiceNowConstants.ACTION_RETRIEVE)
+ .put(ServiceNowParams.PARAM_SYS_ID, sysId)
+ .put(ServiceNowParams.PARAM_TABLE_NAME, "incident")
+ .build();
+
+ ProducerTemplate producerTemplate = template();
+
+ Exception ex = assertThrows(CamelExecutionException.class,
+ () -> producerTemplate.sendBodyAndHeaders("direct:servicenow", null, build));
+
+ assertTrue(ex.getCause() instanceof ServiceNowException);
}
}
diff --git a/components/camel-snakeyaml/src/test/java/org/apache/camel/component/snakeyaml/SnakeYAMLDoSTest.java b/components/camel-snakeyaml/src/test/java/org/apache/camel/component/snakeyaml/SnakeYAMLDoSTest.java
index cd206a8..f0e5a07 100644
--- a/components/camel-snakeyaml/src/test/java/org/apache/camel/component/snakeyaml/SnakeYAMLDoSTest.java
+++ b/components/camel-snakeyaml/src/test/java/org/apache/camel/component/snakeyaml/SnakeYAMLDoSTest.java
@@ -31,7 +31,7 @@ import org.yaml.snakeyaml.constructor.SafeConstructor;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.fail;
+import static org.junit.jupiter.api.Assertions.assertThrows;
public class SnakeYAMLDoSTest extends CamelTestSupport {
@@ -62,13 +62,13 @@ public class SnakeYAMLDoSTest extends CamelTestSupport {
InputStream is = this.getClass().getClassLoader().getResourceAsStream("data-dos.yaml");
ProducerTemplate template = context.createProducerTemplate();
- try {
- template.requestBody("direct:back", is, String.class);
- fail("Failure expected on an alias expansion attack");
- } catch (CamelExecutionException ex) {
- Throwable cause = ex.getCause();
- assertEquals("Number of aliases for non-scalar nodes exceeds the specified max=50", cause.getMessage());
- }
+
+ Exception ex = assertThrows(CamelExecutionException.class,
+ () -> template.requestBody("direct:back", is, String.class),
+ "Failure expected on an alias expansion attack");
+
+ Throwable cause = ex.getCause();
+ assertEquals("Number of aliases for non-scalar nodes exceeds the specified max=50", cause.getMessage());
mock.assertIsSatisfied();
}
@@ -81,13 +81,15 @@ public class SnakeYAMLDoSTest extends CamelTestSupport {
mock.expectedMessageCount(0);
ProducerTemplate template = context.createProducerTemplate();
- try {
- template.requestBody("direct:back2", createDump(30), String.class);
- fail("Failure expected on an alias expansion attack");
- } catch (CamelExecutionException ex) {
- Throwable cause = ex.getCause();
- assertEquals("Recursive key for mapping is detected but it is not configured to be allowed.", cause.getMessage());
- }
+ String dump = createDump(30);
+
+ Exception ex = assertThrows(CamelExecutionException.class,
+ () -> template.requestBody("direct:back2", dump, String.class),
+ "Failure expected on an alias expansion attack");
+
+ Throwable cause = ex.getCause();
+ assertEquals("Recursive key for mapping is detected but it is not configured to be allowed.",
+ cause.getMessage());
mock.assertIsSatisfied();
}