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)
|
|
|
|
|
|
2023-11-02 04:09:55 +08:00
|
|
|
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"])
|
2021-12-07 02:06:02 +08:00
|
|
|
}
|
|
|
|
|
}
|