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();
     }