Skip to content
This repository has been archived by the owner on Dec 8, 2020. It is now read-only.

Commit

Permalink
Update: adds alertstest capturer implementation to test error capturi…
Browse files Browse the repository at this point in the history
…ng in unit and integration test
  • Loading branch information
kyleterry committed Oct 6, 2020
1 parent 7fc54ee commit 45ae71e
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 22 deletions.
31 changes: 15 additions & 16 deletions instrumentation/alerts/alertstest/capturer.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,30 @@ import (
)

type Capturer struct {
tags []trackers.Tag
Tags []trackers.Tag

ReporterRecorders []*ReporterRecorder
}

func (c Capturer) WithNewTrace() trackers.Capturer {
func (c *Capturer) WithNewTrace() trackers.Capturer {
return c
}

func (c Capturer) WithAppPackages(packages []string) trackers.Capturer {
func (c *Capturer) WithAppPackages(packages []string) trackers.Capturer {
return c
}

func (c Capturer) WithUser(u trackers.User) trackers.Capturer {
func (c *Capturer) WithUser(u trackers.User) trackers.Capturer {
return c
}

func (c Capturer) WithTags(tags ...trackers.Tag) trackers.Capturer {
return &Capturer{
tags: append(append([]trackers.Tag{}, c.tags...), tags...),
ReporterRecorders: c.ReporterRecorders,
}
func (c *Capturer) WithTags(tags ...trackers.Tag) trackers.Capturer {
c.Tags = append(append([]trackers.Tag{}, c.Tags...), tags...)

return c
}

func (c Capturer) Try(ctx context.Context, fn func(ctx context.Context)) (rv interface{}) {
func (c *Capturer) Try(ctx context.Context, fn func(ctx context.Context)) (rv interface{}) {
defer func() {
rv = recover()
if nil != rv {
Expand All @@ -45,23 +44,23 @@ func (c Capturer) Try(ctx context.Context, fn func(ctx context.Context)) (rv int
return nil
}

func (c Capturer) Capture(err error) trackers.Reporter {
func (c *Capturer) Capture(err error) trackers.Reporter {
rr := &ReporterRecorder{
err: err,
tags: c.tags,
Err: err,
Tags: c.Tags,
}

c.ReporterRecorders = append(c.ReporterRecorders, rr)

return rr
}

func (c Capturer) CaptureMessage(message string) trackers.Reporter {
func (c *Capturer) CaptureMessage(message string) trackers.Reporter {
return c.Capture(fmt.Errorf(message))
}

func (c Capturer) Middleware() trackers.Middleware {
return &Middleware{c: &c}
func (c *Capturer) Middleware() trackers.Middleware {
return &Middleware{c: c}
}

func NewCapturer() *Capturer {
Expand Down
6 changes: 3 additions & 3 deletions instrumentation/alerts/alertstest/middleware.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ type Middleware struct {
c *Capturer
}

func (m Middleware) WithTags(tags ...trackers.Tag) trackers.Middleware {
func (m *Middleware) WithTags(tags ...trackers.Tag) trackers.Middleware {
return m
}

func (m Middleware) WithUser(u trackers.User) trackers.Middleware {
func (m *Middleware) WithUser(u trackers.User) trackers.Middleware {
return m
}

func (m Middleware) Wrap(target http.Handler) http.Handler {
func (m *Middleware) Wrap(target http.Handler) http.Handler {
return httputil.Wrap(target, httputil.WrapStatic(m.c))
}
6 changes: 3 additions & 3 deletions instrumentation/alerts/alertstest/reporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (
)

type ReporterRecorder struct {
err error
tags []trackers.Tag
Err error
Tags []trackers.Tag
}

func (r ReporterRecorder) WithNewTrace() trackers.Reporter {
Expand All @@ -21,7 +21,7 @@ func (r ReporterRecorder) WithTrace(t *trackers.Trace) trackers.Reporter {

func (r ReporterRecorder) WithTags(tags ...trackers.Tag) trackers.Reporter {
return &ReporterRecorder{
tags: append(append([]trackers.Tag{}, r.tags...), tags...),
Tags: append(append([]trackers.Tag{}, r.Tags...), tags...),
}
}

Expand Down

0 comments on commit 45ae71e

Please sign in to comment.