1
0
Fork 0
telegraf/plugins/inputs/netstat/netstat_test.go
Daniel Baumann 4978089aab
Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-24 07:26:29 +02:00

66 lines
1.2 KiB
Go

package netstat
import (
"syscall"
"testing"
"time"
"github.com/shirou/gopsutil/v4/net"
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/metric"
"github.com/influxdata/telegraf/plugins/common/psutil"
"github.com/influxdata/telegraf/testutil"
)
func TestNetStats(t *testing.T) {
var mps psutil.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, (&NetStat{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(),
)
}