MCPcopy
hub / github.com/jackc/pgx / TestLogAcquire

Function TestLogAcquire

tracelog/tracelog_test.go:409–456  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

407}
408
409func TestLogAcquire(t *testing.T) {
410 t.Parallel()
411
412 ctx, cancel := context.WithTimeout(context.Background(), 120*time.Second)
413 defer cancel()
414
415 logger := &testLogger{}
416 tracer := &tracelog.TraceLog{
417 Logger: logger,
418 LogLevel: tracelog.LogLevelTrace,
419 }
420
421 config := defaultConnTestRunner.CreateConfig(ctx, t)
422 config.Tracer = tracer
423
424 poolConfig, err := pgxpool.ParseConfig(config.ConnString())
425 require.NoError(t, err)
426
427 poolConfig.ConnConfig = config
428 pool1, err := pgxpool.NewWithConfig(ctx, poolConfig)
429 require.NoError(t, err)
430 defer pool1.Close()
431
432 conn1, err := pool1.Acquire(ctx)
433 require.NoError(t, err)
434 defer conn1.Release()
435 require.Len(t, logger.logs, 2) // Has both the Connect and Acquire logs
436 require.Equal(t, "Acquire", logger.logs[1].msg)
437 require.Equal(t, tracelog.LogLevelDebug, logger.logs[1].lvl)
438
439 logger.Clear()
440
441 // create a 2nd pool with a bad host to verify the error handling
442 poolConfig, err = pgxpool.ParseConfig("host=/invalid")
443 require.NoError(t, err)
444 poolConfig.ConnConfig.Tracer = tracer
445
446 pool2, err := pgxpool.NewWithConfig(ctx, poolConfig)
447 require.NoError(t, err)
448 defer pool2.Close()
449
450 conn2, err := pool2.Acquire(ctx)
451 require.Error(t, err)
452 require.Nil(t, conn2)
453 require.Len(t, logger.logs, 2)
454 require.Equal(t, "Acquire", logger.logs[1].msg)
455 require.Equal(t, tracelog.LogLevelError, logger.logs[1].lvl)
456}
457
458func TestLogRelease(t *testing.T) {
459 t.Parallel()

Callers

nothing calls this directly

Calls 9

ClearMethod · 0.95
ParseConfigFunction · 0.92
NewWithConfigFunction · 0.92
AcquireMethod · 0.80
ReleaseMethod · 0.80
CloseMethod · 0.65
LenMethod · 0.65
ConnStringMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected