@Test
public void livenessFailingHistoryShouldReturnInvalidWithNemesisErrors() throws IOException {
List<Map<Keyword, ?>> convertedAllEvents = getClojureMapFromFile("liveness_failing_history.json");
Map<Keyword, Object> results = JepsenHistoryCheckers.createWithCheckers(
ImmutableList.<Supplier<Checker>>builder()
.addAll(JepsenHistoryCheckers.TIMESTAMP_CHECKERS)
.add(NemesisResilienceChecker::new)
.build())
.checkClojureHistory(convertedAllEvents);
Map<Keyword, ?> nemesisStartEventMap = ImmutableMap.of(
Keyword.intern("f"), "start",
Keyword.intern("process"), JepsenConstants.NEMESIS_PROCESS,
Keyword.intern("type"), "info",
Keyword.intern("value"), "start!",
Keyword.intern("time"), 18784227842L);
Map<Keyword, ?> nemesisStopEventMap = ImmutableMap.of(
Keyword.intern("f"), "stop",
Keyword.intern("process"), JepsenConstants.NEMESIS_PROCESS,
Keyword.intern("type"), "info",
Keyword.intern("value"), "stop!",
Keyword.intern("time"), 18805796986L);
List<Map<Keyword, ?>> expected = ImmutableList.of(nemesisStartEventMap, nemesisStopEventMap);
assertThat(results).containsEntry(Keyword.intern("valid?"), false);
assertThat(results).containsEntry(Keyword.intern("errors"), expected);
}