|
7 | 7 | "context"
|
8 | 8 | "errors"
|
9 | 9 | "testing"
|
| 10 | + "time" |
10 | 11 |
|
11 | 12 | "github.com/stretchr/testify/assert"
|
12 | 13 | "github.com/stretchr/testify/require"
|
@@ -71,31 +72,47 @@ func TestBatcherConfig_Validate(t *testing.T) {
|
71 | 72 | }
|
72 | 73 |
|
73 | 74 | func TestSizeConfig_Validate(t *testing.T) {
|
74 |
| - cfg := SizeConfig{ |
75 |
| - Sizer: request.SizerTypeBytes, |
76 |
| - MaxSize: 10, |
77 |
| - MinSize: 100, |
| 75 | + cfg := BatcherConfig{ |
| 76 | + Enabled: true, |
| 77 | + FlushTimeout: 200 * time.Millisecond, |
| 78 | + SizeConfig: SizeConfig{ |
| 79 | + Sizer: request.SizerTypeBytes, |
| 80 | + MinSize: 100, |
| 81 | + MaxSize: 1000, |
| 82 | + }, |
78 | 83 | }
|
79 | 84 | require.EqualError(t, cfg.Validate(), "unsupported sizer type: {\"bytes\"}")
|
80 | 85 |
|
81 |
| - cfg = SizeConfig{ |
82 |
| - Sizer: request.SizerTypeItems, |
83 |
| - MaxSize: -100, |
84 |
| - MinSize: 100, |
| 86 | + cfg = BatcherConfig{ |
| 87 | + Enabled: true, |
| 88 | + FlushTimeout: 200 * time.Millisecond, |
| 89 | + SizeConfig: SizeConfig{ |
| 90 | + Sizer: request.SizerTypeItems, |
| 91 | + MinSize: 100, |
| 92 | + MaxSize: -1000, |
| 93 | + }, |
85 | 94 | }
|
86 | 95 | require.EqualError(t, cfg.Validate(), "`max_size` must be greater than or equal to zero")
|
87 | 96 |
|
88 |
| - cfg = SizeConfig{ |
89 |
| - Sizer: request.SizerTypeItems, |
90 |
| - MaxSize: 100, |
91 |
| - MinSize: -100, |
| 97 | + cfg = BatcherConfig{ |
| 98 | + Enabled: true, |
| 99 | + FlushTimeout: 200 * time.Millisecond, |
| 100 | + SizeConfig: SizeConfig{ |
| 101 | + Sizer: request.SizerTypeItems, |
| 102 | + MinSize: -100, |
| 103 | + MaxSize: 1000, |
| 104 | + }, |
92 | 105 | }
|
93 | 106 | require.EqualError(t, cfg.Validate(), "`min_size` must be greater than or equal to zero")
|
94 | 107 |
|
95 |
| - cfg = SizeConfig{ |
96 |
| - Sizer: request.SizerTypeItems, |
97 |
| - MaxSize: 100, |
98 |
| - MinSize: 200, |
| 108 | + cfg = BatcherConfig{ |
| 109 | + Enabled: true, |
| 110 | + FlushTimeout: 200 * time.Millisecond, |
| 111 | + SizeConfig: SizeConfig{ |
| 112 | + Sizer: request.SizerTypeItems, |
| 113 | + MinSize: 1000, |
| 114 | + MaxSize: 100, |
| 115 | + }, |
99 | 116 | }
|
100 | 117 | require.EqualError(t, cfg.Validate(), "`max_size` must be greater than or equal to mix_size")
|
101 | 118 | }
|
0 commit comments