private static void assertSimpleNemesisError(Event... events) { CheckerResult result = runNemesisResilienceChecker(events); assertThat(result.valid()).isFalse(); assertThat(result.errors()).containsExactly(NEMESIS_START, NEMESIS_STOP); }
@Test public void reportsMultipleOffendingNemesisEvents() { CheckerResult result = runNemesisResilienceChecker( NEMESIS_START, NEMESIS_STOP, NEMESIS_START_2, NEMESIS_STOP_2); assertThat(result.valid()).isFalse(); assertThat(result.errors()).containsExactly(NEMESIS_START, NEMESIS_STOP, NEMESIS_START_2, NEMESIS_STOP_2); }
@Test public void failsOnDistributedCycle() { CheckerResult result = runNemesisResilienceChecker( NEMESIS_START, INVOKE_1, NEMESIS_STOP, NEMESIS_START_2, OK_1, NEMESIS_STOP_2); assertThat(result.valid()).isFalse(); assertThat(result.errors()).containsExactly(NEMESIS_START, NEMESIS_STOP, NEMESIS_START_2, NEMESIS_STOP_2); }
@Test public void reportsInnerEventsAsOffending() { CheckerResult result = runNemesisResilienceChecker( NEMESIS_START, NEMESIS_START_2, NEMESIS_STOP, NEMESIS_STOP_2); assertThat(result.valid()).isFalse(); assertThat(result.errors()).containsExactly(NEMESIS_START_2, NEMESIS_STOP); }
@Test public void onlyReportsRelevantOffendingEvents() { CheckerResult result = runNemesisResilienceChecker( NEMESIS_START, INVOKE_1, OK_1, NEMESIS_STOP, NEMESIS_START_2, NEMESIS_STOP_2); assertThat(result.valid()).isFalse(); assertThat(result.errors()).containsExactly(NEMESIS_START_2, NEMESIS_STOP_2); }
@Test public void failsIfCycleNotBetweenInnermostEvents() { CheckerResult result = runNemesisResilienceChecker( NEMESIS_START, INVOKE_1, NEMESIS_START_2, OK_1, INVOKE_2, NEMESIS_STOP, OK_2, NEMESIS_STOP_2); assertThat(result.valid()).isFalse(); assertThat(result.errors()).containsExactly(NEMESIS_START_2, NEMESIS_STOP); }