@Test public void filteredStackAllMuleCode() { int calls = 5; try { generateStackEntries(calls, input -> { throw new RuntimeException(new DefaultMuleException(createStaticMessage("foo"))); }); } catch (Exception e) { assertThat(getExceptionStack(e), StringByLineMatcher.matchesLineByLine("foo \\(org.mule.runtime.api.exception.DefaultMuleException\\)", " " + ExceptionHelperTestCase.class.getName() + ".lambda\\$[^\\(]*\\(ExceptionHelperTestCase.java:[0-9]+\\)", " " + ExceptionHelperTestCase.class.getName() + ".generateStackEntries\\(ExceptionHelperTestCase.java:[0-9]+\\)", " " + ExceptionHelperTestCase.class.getName() + ".generateStackEntries\\(ExceptionHelperTestCase.java:[0-9]+\\)", " \\(" + (calls + 15) + " more...\\)")); // recursive } }
@Test public void filteredStackIncludingNonMuleCode() { int calls = 5; try { generateStackEntries(calls, input -> forAllDo(singleton(null), input1 -> { throw new RuntimeException(new DefaultMuleException(createStaticMessage("foo"))); })); fail("Expected exception"); } catch (Exception e) { assertThat(getExceptionStack(e), StringByLineMatcher.matchesLineByLine("foo \\(org.mule.runtime.api.exception.DefaultMuleException\\)", " " + ExceptionHelperTestCase.class.getName() + ".lambda\\$[^\\(]*\\(ExceptionHelperTestCase.java:[0-9]+\\)", " org.apache.commons.collections.CollectionUtils.forAllDo\\(CollectionUtils.java:[0-9]+\\)", " " + ExceptionHelperTestCase.class.getName() + ".lambda\\$[^\\(]*\\(ExceptionHelperTestCase.java:[0-9]+\\)", " " + ExceptionHelperTestCase.class.getName() + ".generateStackEntries\\(ExceptionHelperTestCase.java:[0-9]+\\)", " \\(" + (calls + 16) + " more...\\)")); // recursive } }
@Test public void filteredStackIncludingMixedNonMuleCode() { int calls = 5; try { generateStackEntries(calls, input -> { Comparable exceptionComparable = o -> { throw new RuntimeException(new DefaultMuleException(createStaticMessage("foo"))); }; sort(asList(exceptionComparable, exceptionComparable), ComparableComparator.getInstance()); }); fail("Expected exception"); } catch (Exception e) { assertThat(getExceptionStack(e), StringByLineMatcher.matchesLineByLine("foo \\(org.mule.runtime.api.exception.DefaultMuleException\\)", " " + ExceptionHelperTestCase.class.getName() + ".lambda\\$[^\\(]*\\(ExceptionHelperTestCase.java:[0-9]+\\)", " org.apache.commons.collections.comparators.ComparableComparator.compare\\(ComparableComparator.java:[0-9]+\\)", " java.util.*", // Collections.sort " java.util.*", // Collections.sort " java.util.*", // Collections.sort " java.util.*", // Collections.sort " java.util.*", // Collections.sort " " + ExceptionHelperTestCase.class.getName() + ".lambda\\$[^\\(]*\\(ExceptionHelperTestCase.java:[0-9]+\\)", " " + ExceptionHelperTestCase.class.getName() + ".generateStackEntries\\(ExceptionHelperTestCase.java:[0-9]+\\)", " \\(" + (calls + 16) + " more...\\)")); // recursive } }
@Test public void filteredStackAllMuleCode() { int calls = 5; try { generateStackEntries(calls, input -> { throw new RuntimeException(new DefaultMuleException(createStaticMessage("foo"))); }); } catch (Exception e) { assertThat(getExceptionStack(e), StringByLineMatcher.matchesLineByLine("foo \\(org.mule.runtime.api.exception.DefaultMuleException\\)", " " + ExceptionHelperTestCase.class.getName() + ".lambda\\$[^\\(]*\\(ExceptionHelperTestCase.java:[0-9]+\\)", " " + ExceptionHelperTestCase.class.getName() + ".generateStackEntries\\(ExceptionHelperTestCase.java:[0-9]+\\)", " " + ExceptionHelperTestCase.class.getName() + ".generateStackEntries\\(ExceptionHelperTestCase.java:[0-9]+\\)", " \\(" + (calls + 15) + " more...\\)")); // recursive } }
@Test public void filteredStackIncludingNonMuleCode() { int calls = 5; try { generateStackEntries(calls, input -> forAllDo(singleton(null), input1 -> { throw new RuntimeException(new DefaultMuleException(createStaticMessage("foo"))); })); fail("Expected exception"); } catch (Exception e) { assertThat(getExceptionStack(e), StringByLineMatcher.matchesLineByLine("foo \\(org.mule.runtime.api.exception.DefaultMuleException\\)", " " + ExceptionHelperTestCase.class.getName() + ".lambda\\$[^\\(]*\\(ExceptionHelperTestCase.java:[0-9]+\\)", " org.apache.commons.collections.CollectionUtils.forAllDo\\(CollectionUtils.java:[0-9]+\\)", " " + ExceptionHelperTestCase.class.getName() + ".lambda\\$[^\\(]*\\(ExceptionHelperTestCase.java:[0-9]+\\)", " " + ExceptionHelperTestCase.class.getName() + ".generateStackEntries\\(ExceptionHelperTestCase.java:[0-9]+\\)", " \\(" + (calls + 16) + " more...\\)")); // recursive } }
@Test public void filteredStackIncludingMixedNonMuleCode() { int calls = 5; try { generateStackEntries(calls, input -> { Comparable exceptionComparable = o -> { throw new RuntimeException(new DefaultMuleException(createStaticMessage("foo"))); }; sort(asList(exceptionComparable, exceptionComparable), ComparableComparator.getInstance()); }); fail("Expected exception"); } catch (Exception e) { assertThat(getExceptionStack(e), StringByLineMatcher.matchesLineByLine("foo \\(org.mule.runtime.api.exception.DefaultMuleException\\)", " " + ExceptionHelperTestCase.class.getName() + ".lambda\\$[^\\(]*\\(ExceptionHelperTestCase.java:[0-9]+\\)", " org.apache.commons.collections.comparators.ComparableComparator.compare\\(ComparableComparator.java:[0-9]+\\)", " java.util.*", // Collections.sort " java.util.*", // Collections.sort " java.util.*", // Collections.sort " java.util.*", // Collections.sort " java.util.*", // Collections.sort " " + ExceptionHelperTestCase.class.getName() + ".lambda\\$[^\\(]*\\(ExceptionHelperTestCase.java:[0-9]+\\)", " " + ExceptionHelperTestCase.class.getName() + ".generateStackEntries\\(ExceptionHelperTestCase.java:[0-9]+\\)", " \\(" + (calls + 16) + " more...\\)")); // recursive } }