|
|
@ -10,7 +10,7 @@ import ( |
|
|
|
"net/http/httptest" |
|
|
|
"net/http/httptest" |
|
|
|
"net/url" |
|
|
|
"net/url" |
|
|
|
"strconv" |
|
|
|
"strconv" |
|
|
|
strings "strings" |
|
|
|
"strings" |
|
|
|
"testing" |
|
|
|
"testing" |
|
|
|
"time" |
|
|
|
"time" |
|
|
|
|
|
|
|
|
|
|
@ -202,6 +202,57 @@ func Test_codec_EncodeDecodeRequest(t *testing.T) { |
|
|
|
Step: 30 * 1e3, // step is expected in ms; default is 0 or no step
|
|
|
|
Step: 30 * 1e3, // step is expected in ms; default is 0 or no step
|
|
|
|
AggregateBy: "series", |
|
|
|
AggregateBy: "series", |
|
|
|
}, false}, |
|
|
|
}, false}, |
|
|
|
|
|
|
|
{"detected_fields", func() (*http.Request, error) { |
|
|
|
|
|
|
|
return DefaultCodec.EncodeRequest(ctx, &DetectedFieldsRequest{ |
|
|
|
|
|
|
|
logproto.DetectedFieldsRequest{ |
|
|
|
|
|
|
|
Query: `{foo="bar"}`, |
|
|
|
|
|
|
|
Start: start, |
|
|
|
|
|
|
|
End: end, |
|
|
|
|
|
|
|
Step: 30 * 1e3, // step is expected in ms; default is 0 or no step
|
|
|
|
|
|
|
|
LineLimit: 100, |
|
|
|
|
|
|
|
FieldLimit: 100, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
"/loki/api/v1/detected_fields", |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, &DetectedFieldsRequest{ |
|
|
|
|
|
|
|
logproto.DetectedFieldsRequest{ |
|
|
|
|
|
|
|
Query: `{foo="bar"}`, |
|
|
|
|
|
|
|
Start: start, |
|
|
|
|
|
|
|
End: end, |
|
|
|
|
|
|
|
Step: 30 * 1e3, // step is expected in ms; default is 0 or no step
|
|
|
|
|
|
|
|
LineLimit: 100, |
|
|
|
|
|
|
|
FieldLimit: 100, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
"/loki/api/v1/detected_fields", |
|
|
|
|
|
|
|
}, false}, |
|
|
|
|
|
|
|
{"patterns", func() (*http.Request, error) { |
|
|
|
|
|
|
|
return DefaultCodec.EncodeRequest(ctx, &logproto.QueryPatternsRequest{ |
|
|
|
|
|
|
|
Start: start, |
|
|
|
|
|
|
|
End: end, |
|
|
|
|
|
|
|
Step: 30 * 1e3, // step is expected in ms
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, &logproto.QueryPatternsRequest{ |
|
|
|
|
|
|
|
Start: start, |
|
|
|
|
|
|
|
End: end, |
|
|
|
|
|
|
|
Step: 30 * 1e3, // step is expected in ms; default is 0 or no step
|
|
|
|
|
|
|
|
}, false}, |
|
|
|
|
|
|
|
{"detected_labels", func() (*http.Request, error) { |
|
|
|
|
|
|
|
return DefaultCodec.EncodeRequest(ctx, &DetectedLabelsRequest{ |
|
|
|
|
|
|
|
"/loki/api/v1/detected_labels", |
|
|
|
|
|
|
|
logproto.DetectedLabelsRequest{ |
|
|
|
|
|
|
|
Query: `{foo="bar"}`, |
|
|
|
|
|
|
|
Start: start, |
|
|
|
|
|
|
|
End: end, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
}, &DetectedLabelsRequest{ |
|
|
|
|
|
|
|
"/loki/api/v1/detected_labels", |
|
|
|
|
|
|
|
logproto.DetectedLabelsRequest{ |
|
|
|
|
|
|
|
Query: `{foo="bar"}`, |
|
|
|
|
|
|
|
Start: start, |
|
|
|
|
|
|
|
End: end, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, false}, |
|
|
|
} |
|
|
|
} |
|
|
|
for _, tt := range tests { |
|
|
|
for _, tt := range tests { |
|
|
|
t.Run(tt.name, func(t *testing.T) { |
|
|
|
t.Run(tt.name, func(t *testing.T) { |
|
|
|