Add health output plugin (#5882)

This commit is contained in:
Daniel Nelson
2019-05-29 18:31:06 -07:00
committed by GitHub
parent dd09f238e1
commit aaaad4d217
10 changed files with 917 additions and 1 deletions

View File

@@ -0,0 +1,68 @@
package health_test
import (
"testing"
"time"
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/plugins/outputs/health"
"github.com/influxdata/telegraf/testutil"
"github.com/stretchr/testify/require"
)
func TestFieldFound(t *testing.T) {
metrics := []telegraf.Metric{
testutil.MustMetric(
"cpu",
map[string]string{},
map[string]interface{}{
"time_idle": 42.0,
},
time.Now()),
}
contains := &health.Contains{
Field: "time_idle",
}
result := contains.Check(metrics)
require.True(t, result)
}
func TestFieldNotFound(t *testing.T) {
metrics := []telegraf.Metric{
testutil.MustMetric(
"cpu",
map[string]string{},
map[string]interface{}{},
time.Now()),
}
contains := &health.Contains{
Field: "time_idle",
}
result := contains.Check(metrics)
require.False(t, result)
}
func TestOneMetricWithFieldIsSuccess(t *testing.T) {
metrics := []telegraf.Metric{
testutil.MustMetric(
"cpu",
map[string]string{},
map[string]interface{}{},
time.Now()),
testutil.MustMetric(
"cpu",
map[string]string{},
map[string]interface{}{
"time_idle": 42.0,
},
time.Now()),
}
contains := &health.Contains{
Field: "time_idle",
}
result := contains.Check(metrics)
require.True(t, result)
}