@Test
public void clearContextOnSagaStartErrorWithAkka() throws Throwable {

  omegaContext = new OmegaContext(idGenerator, AlphaMetas.builder().akkaEnabled(true).build());
  aspect = new SagaStartAspect(sender, omegaContext);
  RuntimeException oops = new RuntimeException("oops");
  when(joinPoint.proceed()).thenThrow(oops);
  try {
    aspect.advise(joinPoint, sagaStart);
    expectFailing(RuntimeException.class);
  } catch (RuntimeException e) {
    assertThat(e, is(oops));
  }
  assertThat(messages.size(), is(2));
  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.SagaStartedEvent));
  event = messages.get(1);
  assertThat(event.globalTxId(), is(globalTxId));
  assertThat(event.localTxId(), is(globalTxId));
  assertThat(event.parentTxId(), is(nullValue()));
  assertThat(event.type(), is(EventType.SagaAbortedEvent));
  assertThat(omegaContext.globalTxId(), is(nullValue()));
  assertThat(omegaContext.localTxId(), is(nullValue()));
}