2016-05-31 23:41:27 +08:00
|
|
|
package graylog
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"encoding/json"
|
|
|
|
|
"testing"
|
2021-10-21 22:39:24 +08:00
|
|
|
"time"
|
2016-05-31 23:41:27 +08:00
|
|
|
|
2021-09-22 05:02:36 +08:00
|
|
|
"github.com/stretchr/testify/require"
|
2021-11-25 03:40:25 +08:00
|
|
|
|
2021-12-07 02:06:02 +08:00
|
|
|
"github.com/influxdata/telegraf/metric"
|
2016-05-31 23:41:27 +08:00
|
|
|
)
|
|
|
|
|
|
2021-12-07 02:06:02 +08:00
|
|
|
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 {
|
2022-10-27 03:01:50 +08:00
|
|
|
obj := make(map[string]interface{})
|
2021-12-07 02:06:02 +08:00
|
|
|
err = json.Unmarshal([]byte(r), &obj)
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
require.Equal(t, obj["version"], "1.1")
|
|
|
|
|
require.Equal(t, obj["_name"], "testing")
|
|
|
|
|
require.Equal(t, obj["_verb"], "GET")
|
|
|
|
|
require.Equal(t, obj["host"], "hostname")
|
|
|
|
|
require.Equal(t, obj["full_message"], "full")
|
|
|
|
|
require.Equal(t, obj["short_message"], "short")
|
|
|
|
|
require.Equal(t, obj["level"], "1")
|
|
|
|
|
require.Equal(t, obj["facility"], "demo")
|
|
|
|
|
require.Equal(t, obj["line"], "42")
|
|
|
|
|
require.Equal(t, obj["file"], "graylog.go")
|
|
|
|
|
}
|
|
|
|
|
}
|