@Test
public void sagaEndWithErrors() throws Throwable {

  aspect = new SagaEndAspect(sender, omegaContext);
  RuntimeException oops = new RuntimeException("oops");
  when(joinPoint.proceed()).thenThrow(oops);
  try {
    aspect.advise(joinPoint, sagaEnd);
    expectFailing(RuntimeException.class);
  } catch (RuntimeException e) {
    assertThat(e, is(oops));
  }
  assertThat(messages.size(), is(1));
  TxEvent event = messages.get(0);
  assertThat(event.globalTxId(), is(globalTxId));
  assertThat(event.localTxId(), is(globalTxId));
  assertThat(event.parentTxId(), is(nullValue()));
  assertThat(event.type(), is(EventType.SagaAbortedEvent));
  verify(omegaContext).clear();
}