1
0
mirror of https://github.com/shirou/gopsutil.git synced 2025-04-26 13:48:59 +08:00
shirou_gopsutil/net/net_test.go

123 lines
2.6 KiB
Go
Raw Normal View History

2014-12-30 22:09:05 +09:00
package net
2014-05-12 00:12:43 +09:00
import (
"fmt"
2014-05-12 11:51:08 +09:00
"testing"
2014-05-12 00:12:43 +09:00
)
func TestAddrString(t *testing.T) {
v := Addr{IP: "192.168.0.1", Port: 8000}
2014-05-12 00:12:43 +09:00
s := fmt.Sprintf("%v", v)
if s != "{\"ip\":\"192.168.0.1\",\"port\":8000}" {
t.Errorf("Addr string is invalid: %v", v)
}
}
func TestNetIOCountersStatString(t *testing.T) {
v := NetIOCountersStat{
2014-05-12 11:51:08 +09:00
Name: "test",
2014-05-12 00:12:43 +09:00
BytesSent: 100,
}
e := `{"name":"test","bytes_sent":100,"bytes_recv":0,"packets_sent":0,"packets_recv":0,"errin":0,"errout":0,"dropin":0,"dropout":0}`
if e != fmt.Sprintf("%v", v) {
t.Errorf("NetIOCountersStat string is invalid: %v", v)
}
}
func TestNetConnectionStatString(t *testing.T) {
v := NetConnectionStat{
2014-05-12 11:51:08 +09:00
Fd: 10,
2014-05-12 00:12:43 +09:00
Family: 10,
2014-05-12 11:51:08 +09:00
Type: 10,
2014-05-12 00:12:43 +09:00
}
2014-05-16 14:21:19 +09:00
e := `{"fd":10,"family":10,"type":10,"localaddr":{"ip":"","port":0},"remoteaddr":{"ip":"","port":0},"status":"","pid":0}`
2014-05-12 00:12:43 +09:00
if e != fmt.Sprintf("%v", v) {
t.Errorf("NetConnectionStat string is invalid: %v", v)
}
}
2015-01-01 21:29:25 +09:00
func TestNetIOCountersAll(t *testing.T) {
v, err := NetIOCounters(false)
per, err := NetIOCounters(true)
if err != nil {
t.Errorf("Could not get NetIOCounters: %v", err)
}
if len(v) != 1 {
t.Errorf("Could not get NetIOCounters: %v", v)
}
if v[0].Name != "all" {
t.Errorf("Invalid NetIOCounters: %v", v)
}
var pr uint64
for _, p := range per {
pr += p.PacketsRecv
}
if v[0].PacketsRecv != pr {
t.Errorf("invalid sum value: %v, %v", v[0].PacketsRecv, pr)
}
}
func TestNetIOCountersPerNic(t *testing.T) {
v, err := NetIOCounters(true)
2014-05-12 11:51:08 +09:00
if err != nil {
2014-05-12 00:12:43 +09:00
t.Errorf("Could not get NetIOCounters: %v", err)
}
2014-05-12 11:51:08 +09:00
if len(v) == 0 {
2014-05-12 00:12:43 +09:00
t.Errorf("Could not get NetIOCounters: %v", v)
}
2014-05-12 11:51:08 +09:00
for _, vv := range v {
if vv.Name == "" {
2014-05-12 00:12:43 +09:00
t.Errorf("Invalid NetIOCounters: %v", vv)
}
}
}
2015-01-01 21:29:25 +09:00
func Test_getNetIOCountersAll(t *testing.T) {
n := []NetIOCountersStat{
NetIOCountersStat{
Name: "a",
BytesRecv: 10,
PacketsRecv: 10,
},
NetIOCountersStat{
Name: "b",
BytesRecv: 10,
PacketsRecv: 10,
Errin: 10,
},
}
ret, err := getNetIOCountersAll(n)
if err != nil {
t.Error(err)
}
if len(ret) != 1 {
t.Errorf("invalid return count")
}
if ret[0].Name != "all" {
t.Errorf("invalid return name")
}
if ret[0].BytesRecv != 20 {
t.Errorf("invalid count bytesrecv")
}
if ret[0].Errin != 10 {
t.Errorf("invalid count errin")
}
}
2014-06-03 00:39:47 +09:00
func TestNetInterfaces(t *testing.T) {
v, err := NetInterfaces()
2014-06-03 00:39:47 +09:00
if err != nil {
t.Errorf("Could not get NetInterfaceStat: %v", err)
}
2014-06-03 00:39:47 +09:00
if len(v) == 0 {
t.Errorf("Could not get NetInterfaceStat: %v", err)
}
2014-06-03 00:39:47 +09:00
for _, vv := range v {
if vv.Name == "" {
t.Errorf("Invalid NetInterface: %v", vv)
}
}
}