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

Function TestApiStatusCodes

pkg/querier/error_translate_queryable_test.go:32–156  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

30)
31
32func TestApiStatusCodes(t *testing.T) {
33 for ix, tc := range []struct {
34 err error
35 expectedString string
36 expectedCode int
37 }{
38 {
39 err: errors.New("some random error"),
40 expectedString: "some random error",
41 expectedCode: 500,
42 },
43
44 {
45 err: validation.LimitError("limit exceeded"),
46 expectedString: "limit exceeded",
47 expectedCode: 422,
48 },
49
50 {
51 err: validation.AccessDeniedError("access denied"),
52 expectedString: "access denied",
53 expectedCode: 422,
54 },
55
56 {
57 err: promql.ErrTooManySamples("query execution"),
58 expectedString: "too many samples",
59 expectedCode: 422,
60 },
61
62 {
63 err: promql.ErrQueryCanceled("query execution"),
64 expectedString: "query was canceled",
65 expectedCode: 499,
66 },
67
68 {
69 err: promql.ErrQueryTimeout("query execution"),
70 expectedString: "query timed out",
71 expectedCode: 503,
72 },
73
74 // Status code 400 is remapped to 422 (only choice we have)
75 {
76 err: httpgrpc.Errorf(http.StatusBadRequest, "test string"),
77 expectedString: "test string",
78 expectedCode: 422,
79 },
80
81 // 404 is also translated to 422
82 {
83 err: httpgrpc.Errorf(http.StatusNotFound, "not found"),
84 expectedString: "not found",
85 expectedCode: 422,
86 },
87
88 {
89 err: search.NewQuota(1).Reserve(2),

Callers

nothing calls this directly

Calls 10

LimitErrorTypeAlias · 0.92
AccessDeniedErrorTypeAlias · 0.92
createPrometheusAPIFunction · 0.85
WrapMethod · 0.65
RunMethod · 0.65
EqualMethod · 0.65
StringMethod · 0.65
ReserveMethod · 0.45
ServeHTTPMethod · 0.45

Tested by

no test coverage detected