Path: blob/main/component/prometheus/exporter/statsd/statsd_test.go
4096 views
package statsd12import (3"testing"4"time"56"github.com/grafana/agent/pkg/river"7"github.com/stretchr/testify/require"8)910var (11exampleRiverConfig = `12listen_udp = "1010"13listen_tcp = "1011"14listen_unixgram = "unix"15unix_socket_mode = "prom"16mapping_config_path = "./testdata/mapTest.yaml"17read_buffer = 118cache_size = 219cache_type = "random"20event_queue_size = 100021event_flush_interval = "1m"22parse_dogstatsd_tags = true23parse_influxdb_tags = false24parse_librato_tags = false25parse_signalfx_tags = false26`27duration1m, _ = time.ParseDuration("1m")28)2930func TestRiverUnmarshal(t *testing.T) {31var args Arguments32err := river.Unmarshal([]byte(exampleRiverConfig), &args)33require.NoError(t, err)3435require.Equal(t, "1010", args.ListenUDP)36require.Equal(t, "1011", args.ListenTCP)37require.Equal(t, "unix", args.ListenUnixgram)38require.Equal(t, "prom", args.UnixSocketMode)39require.Equal(t, 1, args.ReadBuffer)40require.Equal(t, 2, args.CacheSize)41require.Equal(t, "random", args.CacheType)42require.Equal(t, 1000, args.EventQueueSize)43require.Equal(t, duration1m, args.EventFlushInterval)44require.Equal(t, true, args.ParseDogStatsd)45require.Equal(t, false, args.ParseInfluxDB)46require.Equal(t, false, args.ParseLibrato)47require.Equal(t, false, args.ParseSignalFX)48require.Equal(t, `./testdata/mapTest.yaml`, args.MappingConfig)49}5051func TestConvert(t *testing.T) {52var args Arguments53err := river.Unmarshal([]byte(exampleRiverConfig), &args)54require.NoError(t, err)5556configStatsd, err := args.Convert()57require.NoError(t, err)5859require.Equal(t, "1010", args.ListenUDP)60require.Equal(t, "1011", args.ListenTCP)61require.Equal(t, "unix", args.ListenUnixgram)62require.Equal(t, "prom", args.UnixSocketMode)63require.Equal(t, 1, args.ReadBuffer)64require.Equal(t, 2, args.CacheSize)65require.Equal(t, "random", args.CacheType)66require.Equal(t, 1000, args.EventQueueSize)67require.Equal(t, duration1m, configStatsd.EventFlushInterval)68require.Equal(t, true, configStatsd.ParseDogStatsd)69require.Equal(t, false, configStatsd.ParseInfluxDB)70require.Equal(t, false, configStatsd.ParseLibrato)71require.Equal(t, false, configStatsd.ParseSignalFX)72}737475