69 lines
1.2 KiB
Go
69 lines
1.2 KiB
Go
|
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)
|
||
|
}
|