telegraf/plugins/system/system_test.go

95 lines
1.5 KiB
Go
Raw Normal View History

package system
import (
"testing"
2015-04-04 00:22:31 +00:00
"github.com/influxdb/tivan/plugins/system/ps/load"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
2015-04-04 00:22:31 +00:00
func TestSystemStats_GenerateLoad(t *testing.T) {
var mps MockPS
2015-04-04 00:22:31 +00:00
defer mps.AssertExpectations(t)
2015-04-04 00:22:31 +00:00
ss := &SystemStats{ps: &mps}
2015-04-04 00:22:31 +00:00
lv := &load.LoadAvgStat{
Load1: 0.3,
Load5: 1.5,
Load15: 0.8,
}
2015-04-04 00:22:31 +00:00
mps.On("LoadAvg").Return(lv, nil)
2015-04-04 00:22:31 +00:00
msgs, err := ss.Read()
require.NoError(t, err)
2015-04-04 00:22:31 +00:00
name, ok := msgs[0].GetString("name")
require.True(t, ok)
2015-04-04 00:22:31 +00:00
assert.Equal(t, "load1", name)
2015-04-04 00:22:31 +00:00
val, ok := msgs[0].GetFloat("value")
require.True(t, ok)
2015-04-04 00:22:31 +00:00
assert.Equal(t, 0.3, val)
2015-04-04 00:22:31 +00:00
name, ok = msgs[1].GetString("name")
require.True(t, ok)
2015-04-04 00:22:31 +00:00
assert.Equal(t, "load5", name)
2015-04-04 00:22:31 +00:00
val, ok = msgs[1].GetFloat("value")
require.True(t, ok)
2015-04-04 00:22:31 +00:00
assert.Equal(t, 1.5, val)
2015-04-04 00:22:31 +00:00
name, ok = msgs[2].GetString("name")
require.True(t, ok)
2015-04-04 00:22:31 +00:00
assert.Equal(t, "load15", name)
2015-04-04 00:22:31 +00:00
val, ok = msgs[2].GetFloat("value")
require.True(t, ok)
2015-04-04 00:22:31 +00:00
assert.Equal(t, 0.8, val)
}
2015-04-04 00:22:31 +00:00
func TestSystemStats_AddTags(t *testing.T) {
var mps MockPS
defer mps.AssertExpectations(t)
2015-04-04 00:22:31 +00:00
ss := &SystemStats{
ps: &mps,
tags: map[string]string{
"host": "my.test",
"dc": "us-west-1",
},
}
2015-04-04 00:22:31 +00:00
lv := &load.LoadAvgStat{
Load1: 0.3,
Load5: 1.5,
Load15: 0.8,
}
2015-04-04 00:22:31 +00:00
mps.On("LoadAvg").Return(lv, nil)
2015-04-04 00:22:31 +00:00
msgs, err := ss.Read()
require.NoError(t, err)
2015-04-04 00:22:31 +00:00
for _, m := range msgs {
val, ok := m.GetTag("host")
require.True(t, ok)
2015-04-04 00:22:31 +00:00
assert.Equal(t, val, "my.test")
2015-04-04 00:22:31 +00:00
val, ok = m.GetTag("dc")
require.True(t, ok)
2015-04-04 00:22:31 +00:00
assert.Equal(t, val, "us-west-1")
}
}