123 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
| package net
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"testing"
 | |
| )
 | |
| 
 | |
| func TestAddrString(t *testing.T) {
 | |
| 	v := Addr{IP: "192.168.0.1", Port: 8000}
 | |
| 
 | |
| 	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{
 | |
| 		Name:      "test",
 | |
| 		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{
 | |
| 		Fd:     10,
 | |
| 		Family: 10,
 | |
| 		Type:   10,
 | |
| 	}
 | |
| 	e := `{"fd":10,"family":10,"type":10,"localaddr":{"ip":"","port":0},"remoteaddr":{"ip":"","port":0},"status":"","pid":0}`
 | |
| 	if e != fmt.Sprintf("%v", v) {
 | |
| 		t.Errorf("NetConnectionStat string is invalid: %v", v)
 | |
| 	}
 | |
| 
 | |
| }
 | |
| 
 | |
| 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)
 | |
| 	if err != nil {
 | |
| 		t.Errorf("Could not get NetIOCounters: %v", err)
 | |
| 	}
 | |
| 	if len(v) == 0 {
 | |
| 		t.Errorf("Could not get NetIOCounters: %v", v)
 | |
| 	}
 | |
| 	for _, vv := range v {
 | |
| 		if vv.Name == "" {
 | |
| 			t.Errorf("Invalid NetIOCounters: %v", vv)
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| 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")
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestNetInterfaces(t *testing.T) {
 | |
| 	v, err := NetInterfaces()
 | |
| 	if err != nil {
 | |
| 		t.Errorf("Could not get NetInterfaceStat: %v", err)
 | |
| 	}
 | |
| 	if len(v) == 0 {
 | |
| 		t.Errorf("Could not get NetInterfaceStat: %v", err)
 | |
| 	}
 | |
| 	for _, vv := range v {
 | |
| 		if vv.Name == "" {
 | |
| 			t.Errorf("Invalid NetInterface: %v", vv)
 | |
| 		}
 | |
| 	}
 | |
| }
 |