MCPcopy Index your code
hub / github.com/cortexproject/cortex / TestFormatQueryAPI

Function TestFormatQueryAPI

integration/format_query_api_test.go:19–126  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

17)
18
19func TestFormatQueryAPI(t *testing.T) {
20 s, err := e2e.NewScenario(networkName)
21 require.NoError(t, err)
22 defer s.Close()
23
24 // Start dependencies.
25 consul := e2edb.NewConsul()
26 minio := e2edb.NewMinio(9000, bucketName)
27 require.NoError(t, s.StartAndWaitReady(consul, minio))
28
29 flags := mergeFlags(BlocksStorageFlags(), map[string]string{
30 "-auth.enabled": "true",
31 })
32
33 // Start the query-frontend.
34 queryFrontend := e2ecortex.NewQueryFrontend("query-frontend", flags, "")
35 require.NoError(t, s.Start(queryFrontend))
36
37 querier := e2ecortex.NewQuerier("querier", e2ecortex.RingStoreConsul, consul.NetworkHTTPEndpoint(), mergeFlags(flags, map[string]string{
38 "-querier.frontend-address": queryFrontend.NetworkGRPCEndpoint(),
39 }), "")
40 require.NoError(t, s.StartAndWaitReady(querier))
41
42 // Start querier without frontend.
43 querierDirect := e2ecortex.NewQuerier("querier-direct", e2ecortex.RingStoreConsul, consul.NetworkHTTPEndpoint(), flags, "")
44 require.NoError(t, s.StartAndWaitReady(querierDirect))
45
46 require.NoError(t, s.WaitReady(queryFrontend))
47
48 testCases := []struct {
49 name string
50 query string
51 expectedResp string
52 expectError bool
53 method string
54 useOnlyQuerier bool
55 }{
56 {
57 name: "Valid query for GET method",
58 query: "foo/bar",
59 expectedResp: "foo / bar",
60 expectError: false,
61 method: "GET",
62 },
63 {
64 name: "Valid query for POST method",
65 query: "foo/bar",
66 expectedResp: "foo / bar",
67 expectError: false,
68 method: "POST",
69 },
70 {
71 name: "Invalid query for GET method",
72 query: "invalid_expression/",
73 expectError: true,
74 method: "GET",
75 },
76 {

Callers

nothing calls this directly

Calls 15

CloseMethod · 0.95
StartAndWaitReadyMethod · 0.95
StartMethod · 0.95
WaitReadyMethod · 0.95
NewScenarioFunction · 0.92
NewQueryFrontendFunction · 0.92
NewQuerierFunction · 0.92
NetworkHTTPEndpointMethod · 0.80
NetworkGRPCEndpointMethod · 0.80
HTTPEndpointMethod · 0.80
RunMethod · 0.65
SetMethod · 0.65

Tested by

no test coverage detected