func TestReport2(t *testing.T) { client, err := sentry.NewClient( sentry.ClientOptions{ Debug: true, Dsn: " ", }) if err != nil { t.Fatal(err) } sentry.CurrentHub().BindClient(client) myErr := errutil.Newf("Hello %s %d", "world", redact.Safe(123)) myErr = errutil.Wrapf(
(t *testing.T)
| 54 | // } |
| 55 | |
| 56 | func TestReport(t *testing.T) { |
| 57 | var events []*sentry.Event |
| 58 | |
| 59 | client, err := sentry.NewClient( |
| 60 | sentry.ClientOptions{ |
| 61 | // Install a Transport that locally records events rather than |
| 62 | // sending them to Sentry over HTTP. |
| 63 | Transport: interceptingTransport{ |
| 64 | SendFunc: func(event *sentry.Event) { |
| 65 | events = append(events, event) |
| 66 | }, |
| 67 | }, |
| 68 | }, |
| 69 | ) |
| 70 | if err != nil { |
| 71 | t.Fatal(err) |
| 72 | } |
| 73 | sentry.CurrentHub().BindClient(client) |
| 74 | |
| 75 | thisDomain := domains.NamedDomain("thisdomain") |
| 76 | |
| 77 | err = goErr.New("hello") |
| 78 | err = safedetails.WithSafeDetails(err, "universe %d %s", |
| 79 | safedetails.Safe(123), safedetails.Safe("multi\nline")) |
| 80 | err = withstack.WithStack(err) |
| 81 | err = domains.WithDomain(err, thisDomain) |
| 82 | defer errbase.TestingWithEmptyMigrationRegistry()() |
| 83 | |
| 84 | err = wrapWithMigratedType(err) |
| 85 | |
| 86 | if eventID := report.ReportError(err); eventID == "" { |
| 87 | t.Fatal("eventID is empty") |
| 88 | } |
| 89 | |
| 90 | t.Logf("received events: %# v", pretty.Formatter(events)) |
| 91 | |
| 92 | tt := testutils.T{T: t} |
| 93 | |
| 94 | tt.Assert(len(events) == 1) |
| 95 | e := events[0] |
| 96 | |
| 97 | tt.Run("long message payload", func(tt testutils.T) { |
| 98 | expectedLongMessage := `^ |
| 99 | report_test.go:\d+: × |
| 100 | \(1\) |
| 101 | Wraps: \(2\) error domain: \"thisdomain\" |
| 102 | Wraps: \(3\) attached stack trace |
| 103 | -- stack trace: |
| 104 | | github.com/cockroachdb/errors/report_test.TestReport |
| 105 | | \t[^:]*report/report_test.go:\d+ |
| 106 | | testing.tRunner |
| 107 | | \t.*src/testing/testing.go:\d+ |
| 108 | | runtime.goexit |
| 109 | | \t[^:]*:\d+ |
| 110 | Wraps: \(4\) universe 123 multi |
| 111 | | line |
| 112 | Wraps: \(5\) × |
| 113 | Error types: \(1\) *report_test.myWrapper \(2\) *domains.withDomain \(3\) *withstack.withStack \(4\) *safedetails.withSafeDetails \(5\) *errors.errorString |
nothing calls this directly
no test coverage detected
searching dependent graphs…