FakeKandraSession
In-memory drop-in replacement for CqlSession — no ScyllaDB connection required.
prepare(cql).bind(...) returns a FakePreparedStatement/FakeBoundStatement pair that records the CQL string and positional bound values without touching a real driver session, so the full KandraRepository/KandraSuspendRepository surface (save, findById, delete, update, batch writes, ...) can run against this fake end-to-end. execute captures every Statement it's handed (see capturedStatements), with capturedBatches as a convenience filter for just the BatchStatements (save/delete/update/saveAll all route through a LOGGED batch). Use via KandraTestUtils.inMemory to wire a full repository stack without Testcontainers.
Note: this performs no real CQL type encoding/decoding or query semantics — execute() always returns an empty, wasApplied() == true result set, regardless of the statement. Use this fake to verify structural behaviour (batch composition, save/delete ordering, what was bound to what) rather than actual data round-trips or LWT applied/not-applied semantics; for those, use KandraTestcontainers instead.
Functions
Returns all BatchStatement instances that were executed via execute.
Returns every Statement executed synchronously via execute, in call order.