-
Notifications
You must be signed in to change notification settings - Fork 47
Expand file tree
/
Copy patherrors_test.go
More file actions
30 lines (26 loc) · 833 Bytes
/
errors_test.go
File metadata and controls
30 lines (26 loc) · 833 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package circuit
import (
"errors"
"fmt"
"testing"
"github.com/stretchr/testify/require"
)
func TestSimpleBadRequest_NilErr(t *testing.T) {
s := SimpleBadRequest{Err: nil}
// Should not panic
got := s.Error()
if got != "bad request" {
t.Errorf("expected 'bad request', got %q", got)
}
}
func TestIsBadRequest(t *testing.T) {
require.False(t, IsBadRequest(nil))
require.False(t, IsBadRequest(errors.New("not bad")))
require.False(t, IsBadRequest(errThrottledConcurrentCommands))
require.False(t, IsBadRequest(errCircuitOpen))
require.False(t, IsBadRequest(&circuitError{}))
require.True(t, IsBadRequest(&SimpleBadRequest{}))
wrappedErr := fmt.Errorf("wrapped: %w", &SimpleBadRequest{})
require.True(t, IsBadRequest(wrappedErr))
require.False(t, IsBadRequest(fmt.Errorf("wrapped: %w", errors.New("not bad"))))
}