net_test.go 1.3 KB
Newer Older
1
package test
W
WAKAYAMA Shirou 已提交
2 3 4

import (
	"fmt"
S
Shirou WAKAYAMA 已提交
5
	"testing"
6 7

	"github.com/shirou/gopsutil"
W
WAKAYAMA Shirou 已提交
8 9 10
)

func TestAddrString(t *testing.T) {
11
	v := gopsutil.Addr{IP: "192.168.0.1", Port: 8000}
W
WAKAYAMA Shirou 已提交
12 13 14 15 16 17 18 19

	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) {
20
	v := gopsutil.NetIOCountersStat{
S
Shirou WAKAYAMA 已提交
21
		Name:      "test",
W
WAKAYAMA Shirou 已提交
22 23 24 25 26 27 28 29 30
		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) {
31
	v := gopsutil.NetConnectionStat{
S
Shirou WAKAYAMA 已提交
32
		Fd:     10,
W
WAKAYAMA Shirou 已提交
33
		Family: 10,
S
Shirou WAKAYAMA 已提交
34
		Type:   10,
W
WAKAYAMA Shirou 已提交
35
	}
S
Shirou WAKAYAMA 已提交
36
	e := `{"fd":10,"family":10,"type":10,"localaddr":{"ip":"","port":0},"remoteaddr":{"ip":"","port":0},"status":"","pid":0}`
W
WAKAYAMA Shirou 已提交
37 38 39 40 41 42 43
	if e != fmt.Sprintf("%v", v) {
		t.Errorf("NetConnectionStat string is invalid: %v", v)
	}

}

func TestNetIOCounters(t *testing.T) {
44
	v, err := gopsutil.NetIOCounters(true)
S
Shirou WAKAYAMA 已提交
45
	if err != nil {
W
WAKAYAMA Shirou 已提交
46 47
		t.Errorf("Could not get NetIOCounters: %v", err)
	}
S
Shirou WAKAYAMA 已提交
48
	if len(v) == 0 {
W
WAKAYAMA Shirou 已提交
49 50
		t.Errorf("Could not get NetIOCounters: %v", v)
	}
S
Shirou WAKAYAMA 已提交
51 52
	for _, vv := range v {
		if vv.Name == "" {
W
WAKAYAMA Shirou 已提交
53 54 55 56
			t.Errorf("Invalid NetIOCounters: %v", vv)
		}
	}
}