test(inputs.netstat): Move tests from inputs.net (#14328)

This commit is contained in:
Cemre Mengu 2023-11-27 17:08:42 +03:00 committed by GitHub
parent cd83c70241
commit 062ccb3086
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 66 additions and 50 deletions

View File

@ -1,17 +1,15 @@
package net
import (
"syscall"
"testing"
"github.com/influxdata/telegraf/plugins/inputs/netstat"
"github.com/influxdata/telegraf/plugins/inputs/system"
"github.com/influxdata/telegraf/testutil"
"github.com/shirou/gopsutil/v3/net"
"github.com/stretchr/testify/require"
)
func TestNetStats(t *testing.T) {
func TestNetIOStats(t *testing.T) {
var mps system.MockPS
var err error
defer mps.AssertExpectations(t)
@ -42,23 +40,6 @@ func TestNetStats(t *testing.T) {
}
mps.On("NetProto").Return(netprotos, nil)
netstats := []net.ConnectionStat{
{
Type: syscall.SOCK_DGRAM,
},
{
Status: "ESTABLISHED",
},
{
Status: "ESTABLISHED",
},
{
Status: "CLOSE",
},
}
mps.On("NetConnections").Return(netstats, nil)
err = (&NetIOStats{ps: &mps, skipChecks: true}).Gather(&acc)
require.NoError(t, err)
@ -86,34 +67,4 @@ func TestNetStats(t *testing.T) {
"interface": "all",
}
acc.AssertContainsTaggedFields(t, "net", fields2, ntags)
acc.Metrics = nil
err = (&netstat.NetStats{
PS: &mps,
}).Gather(&acc)
require.NoError(t, err)
fields3 := map[string]interface{}{
"tcp_established": 2,
"tcp_syn_sent": 0,
"tcp_syn_recv": 0,
"tcp_fin_wait1": 0,
"tcp_fin_wait2": 0,
"tcp_time_wait": 0,
"tcp_close": 1,
"tcp_close_wait": 0,
"tcp_last_ack": 0,
"tcp_listen": 0,
"tcp_closing": 0,
"tcp_none": 0,
"udp_socket": 1,
}
acc.AssertContainsTaggedFields(t, "netstat", fields3, make(map[string]string))
acc.Metrics = nil
err = (&NetIOStats{ps: &mps, IgnoreProtocolStats: true}).Gather(&acc)
require.NoError(t, err)
acc.AssertDoesNotContainsTaggedFields(t, "netstat", fields3, make(map[string]string))
}

View File

@ -0,0 +1,65 @@
package netstat
import (
"syscall"
"testing"
"time"
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/metric"
"github.com/influxdata/telegraf/plugins/inputs/system"
"github.com/influxdata/telegraf/testutil"
"github.com/shirou/gopsutil/v3/net"
"github.com/stretchr/testify/require"
)
func TestNetStats(t *testing.T) {
var mps system.MockPS
defer mps.AssertExpectations(t)
mps.On("NetConnections").Return([]net.ConnectionStat{
{
Type: syscall.SOCK_DGRAM,
},
{
Status: "ESTABLISHED",
},
{
Status: "ESTABLISHED",
},
{
Status: "CLOSE",
},
}, nil)
var acc testutil.Accumulator
require.NoError(t, (&NetStats{PS: &mps}).Gather(&acc))
expected := []telegraf.Metric{
metric.New(
"netstat",
map[string]string{},
map[string]interface{}{
"tcp_established": 2,
"tcp_syn_sent": 0,
"tcp_syn_recv": 0,
"tcp_fin_wait1": 0,
"tcp_fin_wait2": 0,
"tcp_time_wait": 0,
"tcp_close": 1,
"tcp_close_wait": 0,
"tcp_last_ack": 0,
"tcp_listen": 0,
"tcp_closing": 0,
"tcp_none": 0,
"udp_socket": 1,
},
time.Unix(0, 0),
),
}
testutil.RequireMetricsEqual(t,
expected,
acc.GetTelegrafMetrics(),
testutil.IgnoreTime(),
)
}