Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
loki/pkg/querier/queryrange/marshal_test.go

46 lines
984 B

package queryrange
import (
"testing"
"github.com/prometheus/prometheus/promql"
"github.com/stretchr/testify/require"
"github.com/grafana/loki/pkg/loghttp"
"github.com/grafana/loki/pkg/logqlmodel"
"github.com/grafana/loki/pkg/querier/queryrange/queryrangebase"
)
func TestResultToResponse(t *testing.T) {
tests := []struct {
name string
result logqlmodel.Result
response queryrangebase.Response
}{
{
name: "nil matrix",
result: logqlmodel.Result{
Data: promql.Matrix(nil),
},
response: &LokiPromResponse{
Response: &queryrangebase.PrometheusResponse{
Status: "success",
Data: queryrangebase.PrometheusData{
ResultType: loghttp.ResultTypeMatrix,
Result: []queryrangebase.SampleStream{},
},
},
},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
actual, err := ResultToResponse(tt.result, nil)
require.NoError(t, err)
require.Equal(t, tt.response, actual)
})
}
}