1234567891011121314151617181920212223242526272829303132333435363738 |
- package breaker
- import (
- "errors"
- "testing"
- "github.com/stretchr/testify/assert"
- )
- func TestNopBreaker(t *testing.T) {
- b := newNoOpBreaker()
- assert.Equal(t, noOpBreakerName, b.Name())
- p, err := b.Allow()
- assert.Nil(t, err)
- p.Accept()
- for i := 0; i < 1000; i++ {
- p, err := b.Allow()
- assert.Nil(t, err)
- p.Reject("any")
- }
- assert.Nil(t, b.Do(func() error {
- return nil
- }))
- assert.Nil(t, b.DoWithAcceptable(func() error {
- return nil
- }, defaultAcceptable))
- errDummy := errors.New("any")
- assert.Equal(t, errDummy, b.DoWithFallback(func() error {
- return errDummy
- }, func(err error) error {
- return nil
- }))
- assert.Equal(t, errDummy, b.DoWithFallbackAcceptable(func() error {
- return errDummy
- }, func(err error) error {
- return nil
- }, defaultAcceptable))
- }
|