Codebase list golang-github-go-kit-kit / f9d8373b-9935-4125-b2b2-694ccabcf82b/v0.5.0 circuitbreaker / handy_breaker_test.go
f9d8373b-9935-4125-b2b2-694ccabcf82b/v0.5.0

Tree @f9d8373b-9935-4125-b2b2-694ccabcf82b/v0.5.0 (Download .tar.gz)

handy_breaker_test.go @f9d8373b-9935-4125-b2b2-694ccabcf82b/v0.5.0raw · history · blame

package circuitbreaker_test

import (
	"testing"

	handybreaker "github.com/streadway/handy/breaker"

	"github.com/go-kit/kit/circuitbreaker"
)

func TestHandyBreaker(t *testing.T) {
	var (
		failureRatio     = 0.05
		breaker          = circuitbreaker.HandyBreaker(handybreaker.NewBreaker(failureRatio))
		primeWith        = handybreaker.DefaultMinObservations * 10
		shouldPass       = func(n int) bool { return (float64(n) / float64(primeWith+n)) <= failureRatio }
		openCircuitError = handybreaker.ErrCircuitOpen.Error()
	)
	testFailingEndpoint(t, breaker, primeWith, shouldPass, 0, openCircuitError)
}