Tests: Der EndlessConsumer wird jetzt doch asynchron ausgeführt
authorKai Moritz <kai@juplo.de>
Sun, 10 Apr 2022 20:50:44 +0000 (22:50 +0200)
committerKai Moritz <kai@juplo.de>
Mon, 11 Apr 2022 13:23:50 +0000 (15:23 +0200)
commit0e0f30edc9bdcd230db1e7f4cbe414f85d5d288a
treea4edc6d0d166947a8324e57264ead17bebdefcf7
parent475d3b4149a49568680ee1f6d6f4a1b7a45845df
Tests: Der EndlessConsumer wird jetzt doch asynchron ausgeführt

* Der Test-Code wird verständlicher, wenn der Consumer asynchron läuft
* Für die Überprüfung der Erwartungen wird dann awaitility benötigt
** Da der Consumer in einem separaten Thread läuft, muss auf diesen
   gezielt gewartet werden
** Dafür wird es deutlicher/verständlicher, auf welche der auch aus dem
   regulären Betrieb des EndlessConsumer bekannten Zustandsänderungen
   der Test wartet
* Da die Offsets für die Controlle (ggf.) abgefragt werden, während der
  EndlessConsumer noch läuft, wird ein separater KafkaConsumer benötigt,
  um die Offsets abzurufen.
  BEACHTE: Um die Änderungen in dem Offsets-Topic zu greifen zu bekommen,
  muss dieser KafkaConsumer für jede Abfrage ein `assign()` durchführen,
  damit er gezwungen ist, die Offsets neu vom Broker zu erfragen.
pom.xml
src/test/java/de/juplo/kafka/ApplicationTests.java