|
1 | | -package getters |
| 1 | +package utils |
2 | 2 |
|
3 | 3 | import ( |
4 | 4 | "context" |
5 | | - "errors" |
6 | | - "fmt" |
7 | 5 | "testing" |
8 | 6 | "time" |
9 | 7 |
|
10 | | - "github.com/stretchr/testify/assert" |
11 | 8 | "github.com/stretchr/testify/require" |
12 | 9 | ) |
13 | 10 |
|
14 | | -func Test_ErrorContains(t *testing.T) { |
15 | | - err1 := errors.New("1") |
16 | | - err2 := errors.New("2") |
17 | | - |
18 | | - w1 := func(err error) error { |
19 | | - return fmt.Errorf("wrap1: %w", err) |
20 | | - } |
21 | | - w2 := func(err error) error { |
22 | | - return fmt.Errorf("wrap1: %w", err) |
23 | | - } |
24 | | - |
25 | | - type args struct { |
26 | | - err error |
27 | | - target error |
28 | | - } |
29 | | - tests := []struct { |
30 | | - name string |
31 | | - args args |
32 | | - want bool |
33 | | - }{ |
34 | | - { |
35 | | - "nil err", |
36 | | - args{ |
37 | | - err: nil, |
38 | | - target: err1, |
39 | | - }, |
40 | | - false, |
41 | | - }, |
42 | | - { |
43 | | - "nil target", |
44 | | - args{ |
45 | | - err: err1, |
46 | | - target: nil, |
47 | | - }, |
48 | | - true, |
49 | | - }, |
50 | | - { |
51 | | - "errors.Is true", |
52 | | - args{ |
53 | | - err: w1(err1), |
54 | | - target: err1, |
55 | | - }, |
56 | | - true, |
57 | | - }, |
58 | | - { |
59 | | - "errors.Is false", |
60 | | - args{ |
61 | | - err: w1(err1), |
62 | | - target: err2, |
63 | | - }, |
64 | | - false, |
65 | | - }, |
66 | | - { |
67 | | - "same wrap but different base error", |
68 | | - args{ |
69 | | - err: w1(err1), |
70 | | - target: w1(err2), |
71 | | - }, |
72 | | - false, |
73 | | - }, |
74 | | - { |
75 | | - "both wrapped true", |
76 | | - args{ |
77 | | - err: w1(err1), |
78 | | - target: w2(err1), |
79 | | - }, |
80 | | - true, |
81 | | - }, |
82 | | - { |
83 | | - "both wrapped false", |
84 | | - args{ |
85 | | - err: w1(err1), |
86 | | - target: w2(err2), |
87 | | - }, |
88 | | - false, |
89 | | - }, |
90 | | - { |
91 | | - "multierr first in slice", |
92 | | - args{ |
93 | | - err: errors.Join(w1(err1), w2(err2)), |
94 | | - target: w2(err1), |
95 | | - }, |
96 | | - true, |
97 | | - }, |
98 | | - { |
99 | | - "multierr second in slice", |
100 | | - args{ |
101 | | - err: errors.Join(w1(err1), w2(err2)), |
102 | | - target: w1(err2), |
103 | | - }, |
104 | | - true, |
105 | | - }, |
106 | | - } |
107 | | - for _, tt := range tests { |
108 | | - t.Run(tt.name, func(t *testing.T) { |
109 | | - assert.Equalf(t, |
110 | | - tt.want, |
111 | | - ErrorContains(tt.args.err, tt.args.target), |
112 | | - "ErrorContains(%v, %v)", tt.args.err, tt.args.target) |
113 | | - }) |
114 | | - } |
115 | | -} |
116 | | - |
117 | 11 | func Test_ctxWithSplitTimeout(t *testing.T) { |
118 | 12 | type args struct { |
119 | 13 | ctxTimeout time.Duration |
@@ -216,7 +110,7 @@ func Test_ctxWithSplitTimeout(t *testing.T) { |
216 | 110 | ctx, cancel = context.WithTimeout(ctx, tt.args.ctxTimeout) |
217 | 111 | } |
218 | 112 | t.Cleanup(cancel) |
219 | | - got, _ := ctxWithSplitTimeout(ctx, sf, tt.args.minTimeout) |
| 113 | + got, _ := CtxWithSplitTimeout(ctx, sf, tt.args.minTimeout) |
220 | 114 | dl, ok := got.Deadline() |
221 | 115 | // in case no deadline is found in ctx or not expected to be found, check both cases apply at the |
222 | 116 | // same time |
|
0 commit comments