MCPcopy Create free account
hub / github.com/cortexproject/cortex / TestMetricsQueryFuncErrors

Function TestMetricsQueryFuncErrors

pkg/ruler/compat_test.go:313–394  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

311}
312
313func TestMetricsQueryFuncErrors(t *testing.T) {
314 for name, tc := range map[string]struct {
315 returnedError error
316 expectedQueries int
317 expectedFailedQueries int
318 notWrapQueryableErrors bool
319 }{
320 "no error": {
321 expectedQueries: 1,
322 expectedFailedQueries: 0,
323 },
324
325 "400 error": {
326 returnedError: httpgrpc.Errorf(http.StatusBadRequest, "test error"),
327 expectedQueries: 1,
328 expectedFailedQueries: 0, // 400 errors not reported as failures.
329 },
330
331 "500 error": {
332 returnedError: httpgrpc.Errorf(http.StatusInternalServerError, "test error"),
333 expectedQueries: 1,
334 expectedFailedQueries: 1, // 500 errors are failures
335 },
336
337 "promql.ErrStorage": {
338 returnedError: promql.ErrStorage{Err: errors.New("test error")},
339 expectedQueries: 1,
340 expectedFailedQueries: 1,
341 },
342
343 "promql.ErrQueryCanceled": {
344 returnedError: promql.ErrQueryCanceled("test error"),
345 expectedQueries: 1,
346 expectedFailedQueries: 0, // Not interesting.
347 },
348
349 "promql.ErrQueryTimeout": {
350 returnedError: promql.ErrQueryTimeout("test error"),
351 expectedQueries: 1,
352 expectedFailedQueries: 0, // Not interesting.
353 },
354
355 "promql.ErrTooManySamples": {
356 returnedError: promql.ErrTooManySamples("test error"),
357 expectedQueries: 1,
358 expectedFailedQueries: 0, // Not interesting.
359 },
360
361 "unknown error": {
362 returnedError: errors.New("test error"),
363 expectedQueries: 1,
364 expectedFailedQueries: 1, // unknown errors are not 400, so they are reported.
365 },
366
367 "max query length validation error": {
368 returnedError: validation.LimitError(fmt.Sprintf(validation.ErrQueryTooLong, "10000", "1000")),
369 expectedQueries: 1,
370 expectedFailedQueries: 0,

Callers

nothing calls this directly

Calls 5

LimitErrorTypeAlias · 0.92
WrapQueryableErrorsFunction · 0.85
metricsQueryFuncFunction · 0.85
RunMethod · 0.65
EqualMethod · 0.65

Tested by

no test coverage detected