Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Haarolean committed Jul 7, 2024
1 parent 9393697 commit e90746a
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions api/src/test/java/io/kafbat/ui/emitter/MessageFiltersTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@
import io.kafbat.ui.exception.CelException;
import io.kafbat.ui.model.TopicMessageDTO;
import java.time.OffsetDateTime;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.function.Predicate;
import org.apache.commons.lang3.RandomStringUtils;
import org.junit.jupiter.api.Nested;
Expand Down Expand Up @@ -100,7 +101,7 @@ void canCheckTimestampMs() {
var ts = OffsetDateTime.now();
var f = celScriptFilter("record.timestampMs == " + ts.toInstant().toEpochMilli());
assertTrue(f.test(msg().timestamp(ts)));
assertFalse(f.test(msg().timestamp(ts.plus(1L, ChronoUnit.SECONDS))));
assertFalse(f.test(msg().timestamp(ts.plusSeconds(1L))));
}

@Test
Expand Down Expand Up @@ -177,6 +178,7 @@ void filterSpeedIsAtLeast5kPerSec() {
toFilter.add(msg().content(jsonContent).key(randString));
}
// first iteration for warmup
// noinspection ResultOfMethodCallIgnored
toFilter.stream().filter(f).count();

long before = System.currentTimeMillis();
Expand All @@ -188,10 +190,15 @@ void filterSpeedIsAtLeast5kPerSec() {
}
}

@Test
void testBase64DecodingWorks() {
var uuid = UUID.randomUUID().toString();
var msg = "test." + Base64.getEncoder().encodeToString(uuid.getBytes());
var f = celScriptFilter("string(base64.decode(record.value.split('.')[1])).contains('" + uuid + "')");
assertTrue(f.test(msg().content(msg)));
}

private TopicMessageDTO msg() {
return new TopicMessageDTO()
.timestamp(OffsetDateTime.now())
.offset(-1L)
.partition(1);
return new TopicMessageDTO(1, -1L, OffsetDateTime.now());
}
}

0 comments on commit e90746a

Please sign in to comment.