dendrite/vendor/src/gopkg.in/airbrake/gobrake.v2/bench_test.go
2017-02-03 15:41:25 +00:00

37 lines
719 B
Go

package gobrake_test
import (
"errors"
"net/http"
"net/http/httptest"
"testing"
"gopkg.in/airbrake/gobrake.v2"
)
func BenchmarkSendNotice(b *testing.B) {
handler := func(w http.ResponseWriter, req *http.Request) {
w.WriteHeader(http.StatusCreated)
w.Write([]byte(`{"id":"123"}`))
}
server := httptest.NewServer(http.HandlerFunc(handler))
notifier := gobrake.NewNotifier(1, "key")
notifier.SetHost(server.URL)
notice := notifier.Notice(errors.New("benchmark"), nil, 0)
b.ResetTimer()
b.RunParallel(func(pb *testing.PB) {
for pb.Next() {
id, err := notifier.SendNotice(notice)
if err != nil {
b.Fatal(err)
}
if id != "123" {
b.Fatalf("got %q, wanted 123", id)
}
}
})
}