1
0
Fork 0
telegraf/plugins/outputs/graylog/graylog_test.go
Daniel Baumann 4978089aab
Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-24 07:26:29 +02:00

51 lines
1.1 KiB
Go

package graylog
import (
"encoding/json"
"testing"
"time"
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf/metric"
)
func TestSerializer(t *testing.T) {
m1 := metric.New("testing",
map[string]string{
"verb": "GET",
"host": "hostname",
},
map[string]interface{}{
"full_message": "full",
"short_message": "short",
"level": "1",
"facility": "demo",
"line": "42",
"file": "graylog.go",
},
time.Now(),
)
graylog := Graylog{}
result, err := graylog.serialize(m1)
require.NoError(t, err)
for _, r := range result {
obj := make(map[string]interface{})
err = json.Unmarshal([]byte(r), &obj)
require.NoError(t, err)
require.Equal(t, "1.1", obj["version"])
require.Equal(t, "testing", obj["_name"])
require.Equal(t, "GET", obj["_verb"])
require.Equal(t, "hostname", obj["host"])
require.Equal(t, "full", obj["full_message"])
require.Equal(t, "short", obj["short_message"])
require.Equal(t, "1", obj["level"])
require.Equal(t, "demo", obj["facility"])
require.Equal(t, "42", obj["line"])
require.Equal(t, "graylog.go", obj["file"])
}
}