MCPcopy
hub / github.com/caddyserver/caddy / TestValidate

Function TestValidate

modules/caddyhttp/encode/encode_test.go:131–256  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

129}
130
131func TestValidate(t *testing.T) {
132 type testCase struct {
133 name string
134 prefer []string
135 wantErr bool
136 }
137
138 var err error
139 var testCases []testCase
140 enc := new(Encode)
141
142 enc.writerPools = map[string]*sync.Pool{
143 "zstd": nil,
144 "gzip": nil,
145 "br": nil,
146 }
147 testCases = []testCase{
148 {
149 name: "ValidatePrefer (zstd, gzip & br enabled): valid order with all encoder",
150 prefer: []string{"zstd", "br", "gzip"},
151 wantErr: false,
152 },
153 {
154 name: "ValidatePrefer (zstd, gzip & br enabled): valid order with 2 out of 3 encoders",
155 prefer: []string{"br", "gzip"},
156 wantErr: false,
157 },
158 {
159 name: "ValidatePrefer (zstd, gzip & br enabled): valid order with 1 out of 3 encoders",
160 prefer: []string{"gzip"},
161 wantErr: false,
162 },
163 {
164 name: "ValidatePrefer (zstd, gzip & br enabled): 1 duplicated (once) encoder",
165 prefer: []string{"gzip", "zstd", "gzip"},
166 wantErr: true,
167 },
168 {
169 name: "ValidatePrefer (zstd, gzip & br enabled): 1 not enabled encoder in prefer list",
170 prefer: []string{"br", "zstd", "gzip", "deflate"},
171 wantErr: true,
172 },
173 {
174 name: "ValidatePrefer (zstd, gzip & br enabled): no prefer list",
175 prefer: []string{},
176 wantErr: false,
177 },
178 }
179
180 for _, test := range testCases {
181 t.Run(test.name, func(t *testing.T) {
182 enc.Prefer = test.prefer
183 err = enc.Validate()
184 if (err != nil) != test.wantErr {
185 t.Errorf("Validate() error = %v, wantErr = %v", err, test.wantErr)
186 }
187 })
188 }

Callers

nothing calls this directly

Calls 1

ValidateMethod · 0.65

Tested by

no test coverage detected