mirror of
https://github.com/grafana/grafana.git
synced 2024-11-22 08:56:43 -06:00
expr: improved test (#94837)
This commit is contained in:
parent
0b804e720f
commit
34bb959835
@ -2,19 +2,23 @@ package expr
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/grafana/grafana-plugin-sdk-go/data/utils/jsoniter"
|
||||
data "github.com/grafana/grafana-plugin-sdk-go/experimental/apis/data/v0alpha1"
|
||||
"github.com/grafana/grafana/pkg/expr/mathexp"
|
||||
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestReaderReduceMode(t *testing.T) {
|
||||
testData := []struct {
|
||||
name string
|
||||
bytes []byte
|
||||
expectedError string
|
||||
name string
|
||||
bytes []byte
|
||||
expectError bool
|
||||
hasMapper bool
|
||||
mapperType reflect.Type
|
||||
}{
|
||||
{
|
||||
name: "no_settings",
|
||||
@ -31,7 +35,8 @@ func TestReaderReduceMode(t *testing.T) {
|
||||
"type": "reduce"
|
||||
}
|
||||
`),
|
||||
expectedError: "",
|
||||
expectError: false,
|
||||
hasMapper: false,
|
||||
},
|
||||
{
|
||||
name: "mode_dropnn",
|
||||
@ -51,7 +56,9 @@ func TestReaderReduceMode(t *testing.T) {
|
||||
"type": "reduce"
|
||||
}
|
||||
`),
|
||||
expectedError: "",
|
||||
expectError: false,
|
||||
hasMapper: true,
|
||||
mapperType: reflect.TypeOf(mathexp.DropNonNumber{}),
|
||||
},
|
||||
{
|
||||
name: "mode_replacenn",
|
||||
@ -72,7 +79,9 @@ func TestReaderReduceMode(t *testing.T) {
|
||||
"type": "reduce"
|
||||
}
|
||||
`),
|
||||
expectedError: "",
|
||||
expectError: false,
|
||||
hasMapper: true,
|
||||
mapperType: reflect.TypeOf(mathexp.ReplaceNonNumberWithValue{}),
|
||||
},
|
||||
{
|
||||
name: "mode_strict",
|
||||
@ -92,7 +101,8 @@ func TestReaderReduceMode(t *testing.T) {
|
||||
"type": "reduce"
|
||||
}
|
||||
`),
|
||||
expectedError: "",
|
||||
expectError: false,
|
||||
hasMapper: false,
|
||||
},
|
||||
{
|
||||
name: "mode_invalid",
|
||||
@ -112,7 +122,7 @@ func TestReaderReduceMode(t *testing.T) {
|
||||
"type": "reduce"
|
||||
}
|
||||
`),
|
||||
expectedError: "unsupported reduce mode",
|
||||
expectError: true,
|
||||
},
|
||||
}
|
||||
|
||||
@ -131,12 +141,21 @@ func TestReaderReduceMode(t *testing.T) {
|
||||
|
||||
reader := NewExpressionQueryReader(featuremgmt.WithFeatures())
|
||||
|
||||
_, err = reader.ReadQuery(q, iter)
|
||||
eq, err := reader.ReadQuery(q, iter)
|
||||
|
||||
if test.expectedError == "" {
|
||||
require.NoError(t, err)
|
||||
if test.expectError {
|
||||
require.Error(t, err)
|
||||
} else {
|
||||
require.ErrorContains(t, err, test.expectedError)
|
||||
require.NoError(t, err)
|
||||
rc, ok := eq.Command.(*ReduceCommand)
|
||||
require.True(t, ok)
|
||||
|
||||
if test.hasMapper {
|
||||
require.NotNil(t, rc.seriesMapper)
|
||||
require.Equal(t, test.mapperType, reflect.TypeOf(rc.seriesMapper))
|
||||
} else {
|
||||
require.Nil(t, rc.seriesMapper)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user