package user import ( "bytes" "context" "errors" "strings" "testing" "example.com/userService/internal/servicecontext" apierrors "git.yuntuo.hk/k2safe/go-omni/errors" "git.yuntuo.hk/k2safe/go-omni/logx" ) func TestDriverMessageDoesNotReachAccessOrBusinessLogs(t *testing.T) { var output bytes.Buffer cfg := logx.Default() cfg.Writer = &output logger, err := logx.New(cfg) if err != nil { t.Fatal(err) } defer logger.Close() service := New(&servicecontext.Context{Logger: logger}) secret := "private-user-input-in-driver-error" got := service.failure(context.Background(), errors.New(secret)) if apierrors.From(got).Status != 500 { t.Fatal("wrong error mapping") } if strings.Contains(got.Error(), secret) || strings.Contains(output.String(), secret) { t.Fatal("driver detail leaked into logging path") } if !strings.Contains(output.String(), "user.operationFailed") { t.Fatal("failure event missing") } }