MCPcopy
hub / github.com/pocketbase/pocketbase / TestBatchHandlerWriteAll

Function TestBatchHandlerWriteAll

tools/logger/batch_handler_test.go:222–253  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

220}
221
222func TestBatchHandlerWriteAll(t *testing.T) {
223 ctx := context.Background()
224
225 beforeLogs := []*Log{}
226 writeLogs := []*Log{}
227
228 h := NewBatchHandler(BatchOptions{
229 BatchSize: 3,
230 BeforeAddFunc: func(_ context.Context, log *Log) bool {
231 beforeLogs = append(beforeLogs, log)
232 return true
233 },
234 WriteFunc: func(_ context.Context, logs []*Log) error {
235 writeLogs = logs
236 return nil
237 },
238 })
239
240 h.Handle(ctx, slog.NewRecord(time.Now(), slog.LevelInfo, "test1", 0))
241 h.Handle(ctx, slog.NewRecord(time.Now(), slog.LevelInfo, "test2", 0))
242
243 checkLogMessages([]string{"test1", "test2"}, beforeLogs, t)
244 checkLogMessages([]string{"test1", "test2"}, h.logs, t)
245 checkLogMessages([]string{}, writeLogs, t) // empty because the batch size hasn't been reached
246
247 // force trigger the batch write
248 h.WriteAll(ctx)
249
250 checkLogMessages([]string{"test1", "test2"}, beforeLogs, t)
251 checkLogMessages([]string{}, h.logs, t) // reset
252 checkLogMessages([]string{"test1", "test2"}, writeLogs, t)
253}
254
255func TestBatchHandlerAttrsFormat(t *testing.T) {
256 ctx := context.Background()

Callers

nothing calls this directly

Calls 4

HandleMethod · 0.95
WriteAllMethod · 0.95
NewBatchHandlerFunction · 0.85
checkLogMessagesFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…