Path: blob/main/component/common/relabel/relabel_test.go
4096 views
package relabel12import (3"testing"45"github.com/stretchr/testify/require"67"github.com/grafana/agent/pkg/river"8)910func TestParseConfig(t *testing.T) {11for _, tt := range []struct {12name string13cfg string14expectErr bool15}{16{17name: "valid keepequal config",18cfg: `19action = "keepequal"20target_label = "foo"21source_labels = ["bar"]22`,23},24{25name: "valid dropequal config",26cfg: `27action = "dropequal"28target_label = "foo"29source_labels = ["bar"]30`,31},32{33name: "missing dropequal target",34cfg: `35action = "dropequal"36source_labels = ["bar"]37`,38expectErr: true,39},40{41name: "missing dropequal source",42cfg: `43action = "dropequal"44target_label = "foo"45`,46expectErr: true,47},48{49name: "missing keepequal target",50cfg: `51action = "keepequal"52source_labels = ["bar"]53`,54expectErr: true,55},56{57name: "missing keepequal source",58cfg: `59action = "keepequal"60target_label = "foo"61`,62expectErr: true,63},64{65name: "unknown action",66cfg: `67action = "foo"68`,69expectErr: true,70},71} {72tt := tt73t.Run(tt.name, func(t *testing.T) {74t.Parallel()75var cfg Config76err := river.Unmarshal([]byte(tt.cfg), &cfg)77if tt.expectErr {78require.Error(t, err)79} else {80require.NoError(t, err)81}82})83}84}858687