+ : serialize(key, counter));
+
+ await("Consumer failed")
+ .atMost(Duration.ofSeconds(30))
+ .untilAsserted(() -> checkSeenOffsetsForProgress());
+
+ compareToCommitedOffsets(newOffsets);
+ assertThat(receivedRecords.size())
+ .describedAs("Received not all sent events")
+ .isLessThan(100);
+
+ assertThatNoException()
+ .describedAs("Consumer should not be running")
+ .isThrownBy(() -> endlessConsumer.exitStatus());
+ assertThat(endlessConsumer.exitStatus())
+ .containsInstanceOf(RecordDeserializationException.class)
+ .describedAs("Consumer should have exited abnormally");
+ }
+
+
+ /** Helper methods for the verification of expectations */