27 lines
572 B
Go
27 lines
572 B
Go
package health_test
|
|
|
|
import (
|
|
"math/rand"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/TwiN/health"
|
|
)
|
|
|
|
func BenchmarkHealthHandler_ServeHTTP(b *testing.B) {
|
|
h := health.Handler().WithJSON(true)
|
|
b.RunParallel(func(pb *testing.PB) {
|
|
for pb.Next() {
|
|
request, _ := http.NewRequest("GET", "/health", http.NoBody)
|
|
responseRecorder := httptest.NewRecorder()
|
|
h.ServeHTTP(responseRecorder, request)
|
|
if n := rand.Intn(100); n < 1 {
|
|
health.SetStatus(health.Down)
|
|
} else if n < 5 {
|
|
health.SetStatus(health.Up)
|
|
}
|
|
}
|
|
})
|
|
b.ReportAllocs()
|
|
}
|