ROT: Fehler in Test-Logik aufgedeckt
[demos/kafka/training] / src / test / java / de / juplo / kafka / ApplicationTests.java
index 1272124..1e73040 100644 (file)
@@ -27,28 +27,30 @@ public class ApplicationTests extends GenericApplicationTests<String, Long>
 
 
           @Override
-          public void generate(
-              Set<Integer> poisonPills,
-              Set<Integer> logicErrors,
+          public int generate(
+              boolean poisonPills,
+              boolean logicErrors,
               Consumer<ProducerRecord<Bytes, Bytes>> messageSender)
           {
             int i = 0;
 
             for (int partition = 0; partition < 10; partition++)
             {
-              for (int key = 0; key < 10; key++)
+              for (int key = 0; key < 10000; key++)
               {
-                if (++i > 100)
-                  return;
+                i++;
 
                 Bytes value = new Bytes(longSerializer.serialize(TOPIC, (long)i));
-                if (logicErrors.contains(i))
+                if (i == 99977)
                 {
-                  value = new Bytes(longSerializer.serialize(TOPIC, Long.MIN_VALUE));
-                }
-                if (poisonPills.contains(i))
-                {
-                  value = new Bytes(stringSerializer.serialize(TOPIC, "BOOM (Poison-Pill)!"));
+                  if (logicErrors)
+                  {
+                    value = new Bytes(longSerializer.serialize(TOPIC, Long.MIN_VALUE));
+                  }
+                  if (poisonPills)
+                  {
+                    value = new Bytes(stringSerializer.serialize(TOPIC, "BOOM (Poison-Pill)!"));
+                  }
                 }
 
                 ProducerRecord<Bytes, Bytes> record =
@@ -61,6 +63,8 @@ public class ApplicationTests extends GenericApplicationTests<String, Long>
                 messageSender.accept(record);
               }
             }
+
+            return i;
           }
         });
   }