./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:13:class SignedJsonCursorCodecTest { ./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:21: private final SignedJsonCursorCodec codec = ./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:22: new SignedJsonCursorCodec<>(new OrderCursorPayloadCodec(), KEY); ./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:40: new SignedJsonCursorCodec( ./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:65: () -> new SignedJsonCursorCodec<>(new OrderCursorPayloadCodec(), new byte[16])) ./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:114: new SignedJsonCursorCodec( ./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:129: String oversized = "v1." + "A".repeat(SignedJsonCursorCodec.MAX_ENCODED_LENGTH) + ".AAAA"; ./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:146: assertThat(token.length()).isLessThanOrEqualTo(SignedJsonCursorCodec.MAX_ENCODED_LENGTH); ./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:179: new SignedJsonCursorCodec( ./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:183: return "x".repeat(SignedJsonCursorCodec.MAX_PAYLOAD_BYTES + 1); ./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:198: private static SignedJsonCursorCodec codec() { ./adapter/outbound/persistence-jpa/src/test/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodecTest.java:199: return new SignedJsonCursorCodec<>( ./adapter/outbound/persistence-jpa/src/main/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodec.java:26:public final class SignedJsonCursorCodec implements CursorCodec { ./adapter/outbound/persistence-jpa/src/main/java/dev/caskeleton/adapter/outbound/persistence/api/query/SignedJsonCursorCodec.java:44: public SignedJsonCursorCodec(CursorPayloadCodec payloadCodec, byte[] key) { ./adapter/outbound/persistence-jpa/src/main/java/dev/caskeleton/adapter/outbound/persistence/api/query/CursorPayloadCodec.java:6: *

This seam is why {@link SignedJsonCursorCodec} needs no JSON library: the core contract stays