[ https://issues.apache.org/jira/browse/GEODE-5639?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kirk Lund updated GEODE-5639: ----------------------------- Summary: Replace usage of CatchException with AssertJ and remove CatchException dependency (was: Replace usage of CatchException with AssertJ and remove CatchException depoendency) > Replace usage of CatchException with AssertJ and remove CatchException > dependency > --------------------------------------------------------------------------------- > > Key: GEODE-5639 > URL: https://issues.apache.org/jira/browse/GEODE-5639 > Project: Geode > Issue Type: Wish > Components: build, tests > Reporter: Kirk Lund > Priority: Major > > We have a small number of tests using > com.googlecode.catchexception.CatchException. This project isn't very active > and AssertJ provides better support for testing expected exceptions and > throwables. Most Geode developers are already using AssertJ for expected > exceptions. > The tests using CatchException should be updated to instead use AssertJ and > then remove our testing dependency on CatchException. > The recommended ways of handling expected exception testing would then > involve using following AssertJ APIs: > 1) Basic assertion about an expected exception > Use: org.assertj.core.api.Assertions.assertThatThrownBy > Example from JdbcWriterTest: > {noformat} > assertThatThrownBy(() -> writer.beforeUpdate(entryEvent)) > .isInstanceOf(IllegalArgumentException.class); > {noformat} > 2) Complex assertion about an expected exception (potentially with many > nested causes with messages that we want to validate as well) > Use: org.assertj.core.api.Assertions.catchThrowable > Example from DeltaPropagationFailureRegressionTest: > {noformat} > Throwable thrown = server1.invoke(() -> catchThrowable(() -> > putDelta(FROM_DELTA))); > assertThat(thrown).isInstanceOf(DeltaSerializationException.class) > .hasMessageContaining("deserializing delta > bytes").hasCauseInstanceOf(EOFException.class); > {noformat} > 3) Simple assertion that an invocation should not thrown (probably used in a > regression test) > Use: org.assertj.core.api.Assertions.assertThatCode > Example from RegisterInterestDistributedTest: > {noformat} > assertThatCode(() -> > clientCache.readyForEvents()).doesNotThrowAnyException(); > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)