Path: blob/main/component/prometheus/exporter/process/process_test.go
4095 views
package process12import (3"testing"45"github.com/grafana/agent/pkg/river"6"github.com/ncabatoff/process-exporter/config"7"github.com/stretchr/testify/require"8)910func TestRiverConfigUnmarshal(t *testing.T) {11var exampleRiverConfig = `12matcher {13name = "flow"14comm = ["grafana-agent"]15cmdline = ["*run*"]16}17track_children = false18track_threads = false19gather_smaps = true20recheck_on_scrape = true21`2223var args Arguments24err := river.Unmarshal([]byte(exampleRiverConfig), &args)25require.NoError(t, err)2627require.False(t, args.Children)28require.False(t, args.Threads)29require.True(t, args.SMaps)30require.True(t, args.Recheck)3132expected := []MatcherGroup{33{34Name: "flow",35CommRules: []string{"grafana-agent"},36CmdlineRules: []string{"*run*"},37},38}39require.Equal(t, expected, args.ProcessExporter)40}4142func TestRiverConfigConvert(t *testing.T) {43var exampleRiverConfig = `44matcher {45name = "static"46comm = ["grafana-agent"]47cmdline = ["*config.file*"]48}49track_children = true50track_threads = true51gather_smaps = false52recheck_on_scrape = false53`5455var args Arguments56err := river.Unmarshal([]byte(exampleRiverConfig), &args)57require.NoError(t, err)5859require.True(t, args.Children)60require.True(t, args.Threads)61require.False(t, args.SMaps)62require.False(t, args.Recheck)6364expected := []MatcherGroup{65{66Name: "static",67CommRules: []string{"grafana-agent"},68CmdlineRules: []string{"*config.file*"},69},70}71require.Equal(t, expected, args.ProcessExporter)7273c := args.Convert()74require.True(t, c.Children)75require.True(t, c.Threads)76require.False(t, c.SMaps)77require.False(t, c.Recheck)7879e := config.MatcherRules{80{81Name: "static",82CommRules: []string{"grafana-agent"},83CmdlineRules: []string{"*config.file*"},84},85}86require.Equal(t, e, c.ProcessExporter)87}888990