diff --git a/plugins/mysql/mysql_test.go b/plugins/mysql/mysql_test.go index d424f284b..2362002bc 100644 --- a/plugins/mysql/mysql_test.go +++ b/plugins/mysql/mysql_test.go @@ -2,7 +2,6 @@ package mysql import ( "fmt" - "strings" "testing" "github.com/influxdb/telegraf/testutil" @@ -10,64 +9,6 @@ import ( "github.com/stretchr/testify/require" ) -func TestMysqlGeneratesMetrics(t *testing.T) { - if testing.Short() { - t.Skip("Skipping integration test in short mode") - } - - m := &Mysql{ - Servers: []string{fmt.Sprintf("root@tcp(%s:3306)/", testutil.GetLocalHost())}, - } - - var acc testutil.Accumulator - - err := m.Gather(&acc) - require.NoError(t, err) - - prefixes := []struct { - prefix string - count int - }{ - {"commands", 139}, - {"handler", 16}, - {"bytes", 2}, - {"innodb", 46}, - {"threads", 4}, - {"aborted", 2}, - {"created", 3}, - {"key", 7}, - {"open", 7}, - {"opened", 3}, - {"qcache", 8}, - {"table", 1}, - } - - intMetrics := []string{ - "queries", - "slow_queries", - "connections", - } - - for _, prefix := range prefixes { - var count int - - for _, p := range acc.Points { - if strings.HasPrefix(p.Measurement, prefix.prefix) { - count++ - } - } - - if prefix.count > count { - t.Errorf("Expected less than %d measurements with prefix %s, got %d", - count, prefix.prefix, prefix.count) - } - } - - for _, metric := range intMetrics { - assert.True(t, acc.HasIntValue(metric)) - } -} - func TestMysqlDefaultsToLocal(t *testing.T) { if testing.Short() { t.Skip("Skipping integration test in short mode") @@ -82,7 +23,7 @@ func TestMysqlDefaultsToLocal(t *testing.T) { err := m.Gather(&acc) require.NoError(t, err) - assert.True(t, len(acc.Points) > 0) + assert.True(t, acc.HasMeasurement("mysql")) } func TestMysqlParseDSN(t *testing.T) { diff --git a/plugins/nginx/nginx_test.go b/plugins/nginx/nginx_test.go index 74dd37d31..9d694bc26 100644 --- a/plugins/nginx/nginx_test.go +++ b/plugins/nginx/nginx_test.go @@ -54,17 +54,14 @@ func TestNginxGeneratesMetrics(t *testing.T) { err := n.Gather(&acc) require.NoError(t, err) - metrics := []struct { - name string - value uint64 - }{ - {"active", 585}, - {"accepts", 85340}, - {"handled", 85340}, - {"requests", 35085}, - {"reading", 4}, - {"writing", 135}, - {"waiting", 446}, + fields := map[string]interface{}{ + "active": uint64(585), + "accepts": uint64(85340), + "handled": uint64(85340), + "requests": uint64(35085), + "reading": uint64(4), + "writing": uint64(135), + "waiting": uint64(446), } addr, err := url.Parse(ts.URL) if err != nil { @@ -84,8 +81,5 @@ func TestNginxGeneratesMetrics(t *testing.T) { } tags := map[string]string{"server": host, "port": port} - - for _, m := range metrics { - assert.NoError(t, acc.ValidateTaggedValue(m.name, m.value, tags)) - } + acc.AssertContainsTaggedFields(t, "nginx", fields, tags) } diff --git a/plugins/phpfpm/phpfpm_test.go b/plugins/phpfpm/phpfpm_test.go index 8fa192806..2f34372bf 100644 --- a/plugins/phpfpm/phpfpm_test.go +++ b/plugins/phpfpm/phpfpm_test.go @@ -32,27 +32,21 @@ func TestPhpFpmGeneratesMetrics(t *testing.T) { "url": ts.Listener.Addr().String(), "pool": "www", } - assert.NoError(t, acc.ValidateTaggedValue("accepted_conn", int64(3), tags)) - checkInt := []struct { - name string - value int64 - }{ - {"accepted_conn", 3}, - {"listen_queue", 1}, - {"max_listen_queue", 0}, - {"listen_queue_len", 0}, - {"idle_processes", 1}, - {"active_processes", 1}, - {"total_processes", 2}, - {"max_active_processes", 1}, - {"max_children_reached", 2}, - {"slow_requests", 1}, + fields := map[string]interface{}{ + "accepted_conn": int64(3), + "listen_queue": int64(1), + "max_listen_queue": int64(0), + "listen_queue_len": int64(0), + "idle_processes": int64(1), + "active_processes": int64(1), + "total_processes": int64(2), + "max_active_processes": int64(1), + "max_children_reached": int64(2), + "slow_requests": int64(1), } - for _, c := range checkInt { - assert.Equal(t, true, acc.CheckValue(c.name, c.value)) - } + acc.AssertContainsTaggedFields(t, "phpfpm", fields, tags) } //When not passing server config, we default to localhost diff --git a/plugins/ping/ping_test.go b/plugins/ping/ping_test.go index 5fed0b6c8..7ae86534d 100644 --- a/plugins/ping/ping_test.go +++ b/plugins/ping/ping_test.go @@ -120,18 +120,16 @@ func TestPingGather(t *testing.T) { p.Gather(&acc) tags := map[string]string{"url": "www.google.com"} - assert.NoError(t, acc.ValidateTaggedValue("packets_transmitted", 5, tags)) - assert.NoError(t, acc.ValidateTaggedValue("packets_received", 5, tags)) - assert.NoError(t, acc.ValidateTaggedValue("percent_packet_loss", 0.0, tags)) - assert.NoError(t, acc.ValidateTaggedValue("average_response_ms", - 43.628, tags)) + fields := map[string]interface{}{ + "packets_transmitted": 5, + "packets_received": 5, + "percent_packet_loss": 0.0, + "average_response_ms": 43.628, + } + acc.AssertContainsTaggedFields(t, "ping", fields, tags) tags = map[string]string{"url": "www.reddit.com"} - assert.NoError(t, acc.ValidateTaggedValue("packets_transmitted", 5, tags)) - assert.NoError(t, acc.ValidateTaggedValue("packets_received", 5, tags)) - assert.NoError(t, acc.ValidateTaggedValue("percent_packet_loss", 0.0, tags)) - assert.NoError(t, acc.ValidateTaggedValue("average_response_ms", - 43.628, tags)) + acc.AssertContainsTaggedFields(t, "ping", fields, tags) } var lossyPingOutput = ` @@ -159,10 +157,13 @@ func TestLossyPingGather(t *testing.T) { p.Gather(&acc) tags := map[string]string{"url": "www.google.com"} - assert.NoError(t, acc.ValidateTaggedValue("packets_transmitted", 5, tags)) - assert.NoError(t, acc.ValidateTaggedValue("packets_received", 3, tags)) - assert.NoError(t, acc.ValidateTaggedValue("percent_packet_loss", 40.0, tags)) - assert.NoError(t, acc.ValidateTaggedValue("average_response_ms", 44.033, tags)) + fields := map[string]interface{}{ + "packets_transmitted": 5, + "packets_received": 3, + "percent_packet_loss": 40.0, + "average_response_ms": 44.033, + } + acc.AssertContainsTaggedFields(t, "ping", fields, tags) } var errorPingOutput = ` @@ -188,10 +189,13 @@ func TestBadPingGather(t *testing.T) { p.Gather(&acc) tags := map[string]string{"url": "www.amazon.com"} - assert.NoError(t, acc.ValidateTaggedValue("packets_transmitted", 2, tags)) - assert.NoError(t, acc.ValidateTaggedValue("packets_received", 0, tags)) - assert.NoError(t, acc.ValidateTaggedValue("percent_packet_loss", 100.0, tags)) - assert.NoError(t, acc.ValidateTaggedValue("average_response_ms", 0.0, tags)) + fields := map[string]interface{}{ + "packets_transmitted": 2, + "packets_received": 0, + "percent_packet_loss": 100.0, + "average_response_ms": 0.0, + } + acc.AssertContainsTaggedFields(t, "ping", fields, tags) } func mockFatalHostPinger(args ...string) (string, error) { diff --git a/plugins/postgresql/postgresql_test.go b/plugins/postgresql/postgresql_test.go index 4a53a2e8f..0f4ff5579 100644 --- a/plugins/postgresql/postgresql_test.go +++ b/plugins/postgresql/postgresql_test.go @@ -15,13 +15,9 @@ func TestPostgresqlGeneratesMetrics(t *testing.T) { } p := &Postgresql{ - Servers: []*Server{ - { - Address: fmt.Sprintf("host=%s user=postgres sslmode=disable", - testutil.GetLocalHost()), - Databases: []string{"postgres"}, - }, - }, + Address: fmt.Sprintf("host=%s user=postgres sslmode=disable", + testutil.GetLocalHost()), + Databases: []string{"postgres"}, } var acc testutil.Accumulator @@ -30,7 +26,7 @@ func TestPostgresqlGeneratesMetrics(t *testing.T) { require.NoError(t, err) availableColumns := make(map[string]bool) - for _, col := range p.Servers[0].OrderedColumns { + for _, col := range p.OrderedColumns { availableColumns[col] = true } @@ -61,7 +57,7 @@ func TestPostgresqlGeneratesMetrics(t *testing.T) { for _, metric := range intMetrics { _, ok := availableColumns[metric] if ok { - assert.True(t, acc.HasIntValue(metric)) + assert.True(t, acc.HasIntField("postgresql", metric)) metricsCounted++ } } @@ -69,7 +65,7 @@ func TestPostgresqlGeneratesMetrics(t *testing.T) { for _, metric := range floatMetrics { _, ok := availableColumns[metric] if ok { - assert.True(t, acc.HasFloatValue(metric)) + assert.True(t, acc.HasFloatField("postgresql", metric)) metricsCounted++ } } @@ -84,13 +80,9 @@ func TestPostgresqlTagsMetricsWithDatabaseName(t *testing.T) { } p := &Postgresql{ - Servers: []*Server{ - { - Address: fmt.Sprintf("host=%s user=postgres sslmode=disable", - testutil.GetLocalHost()), - Databases: []string{"postgres"}, - }, - }, + Address: fmt.Sprintf("host=%s user=postgres sslmode=disable", + testutil.GetLocalHost()), + Databases: []string{"postgres"}, } var acc testutil.Accumulator @@ -98,7 +90,7 @@ func TestPostgresqlTagsMetricsWithDatabaseName(t *testing.T) { err := p.Gather(&acc) require.NoError(t, err) - point, ok := acc.Get("xact_commit") + point, ok := acc.Get("postgresql") require.True(t, ok) assert.Equal(t, "postgres", point.Tags["db"]) @@ -110,12 +102,8 @@ func TestPostgresqlDefaultsToAllDatabases(t *testing.T) { } p := &Postgresql{ - Servers: []*Server{ - { - Address: fmt.Sprintf("host=%s user=postgres sslmode=disable", - testutil.GetLocalHost()), - }, - }, + Address: fmt.Sprintf("host=%s user=postgres sslmode=disable", + testutil.GetLocalHost()), } var acc testutil.Accumulator @@ -126,7 +114,7 @@ func TestPostgresqlDefaultsToAllDatabases(t *testing.T) { var found bool for _, pnt := range acc.Points { - if pnt.Measurement == "xact_commit" { + if pnt.Measurement == "postgresql" { if pnt.Tags["db"] == "postgres" { found = true break @@ -143,12 +131,8 @@ func TestPostgresqlIgnoresUnwantedColumns(t *testing.T) { } p := &Postgresql{ - Servers: []*Server{ - { - Address: fmt.Sprintf("host=%s user=postgres sslmode=disable", - testutil.GetLocalHost()), - }, - }, + Address: fmt.Sprintf("host=%s user=postgres sslmode=disable", + testutil.GetLocalHost()), } var acc testutil.Accumulator