Pārlūkot izejas kodu

test(net): improve test coverage

Mustafa Arici 7 gadi atpakaļ
vecāks
revīzija
72bb6adc49
2 mainītis faili ar 119 papildinājumiem un 6 dzēšanām
  1. 6 6
      bindata/bindata.go
  2. 113 0
      net_test.go

+ 6 - 6
bindata/bindata.go

@@ -93,7 +93,7 @@ func templateAuthSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/auth.swagger.json", size: 2854, mode: os.FileMode(420), modTime: time.Unix(1522360957, 0)}
+	info := bindataFileInfo{name: "template/auth.swagger.json", size: 2854, mode: os.FileMode(420), modTime: time.Unix(1522421331, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -113,7 +113,7 @@ func templateBundleJs() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/bundle.js", size: 559458, mode: os.FileMode(420), modTime: time.Unix(1522360971, 0)}
+	info := bindataFileInfo{name: "template/bundle.js", size: 559458, mode: os.FileMode(420), modTime: time.Unix(1522421347, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -193,7 +193,7 @@ func templateIndexHtml() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/index.html", size: 577, mode: os.FileMode(420), modTime: time.Unix(1522360971, 0)}
+	info := bindataFileInfo{name: "template/index.html", size: 577, mode: os.FileMode(420), modTime: time.Unix(1522421347, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -233,7 +233,7 @@ func templateNetworkSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/network.swagger.json", size: 6669, mode: os.FileMode(420), modTime: time.Unix(1522360957, 0)}
+	info := bindataFileInfo{name: "template/network.swagger.json", size: 6669, mode: os.FileMode(420), modTime: time.Unix(1522421331, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -273,7 +273,7 @@ func templateUserSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/user.swagger.json", size: 6907, mode: os.FileMode(420), modTime: time.Unix(1522360957, 0)}
+	info := bindataFileInfo{name: "template/user.swagger.json", size: 6907, mode: os.FileMode(420), modTime: time.Unix(1522421331, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }
@@ -293,7 +293,7 @@ func templateVpnSwaggerJson() (*asset, error) {
 		return nil, err
 	}
 
-	info := bindataFileInfo{name: "template/vpn.swagger.json", size: 3732, mode: os.FileMode(420), modTime: time.Unix(1522360957, 0)}
+	info := bindataFileInfo{name: "template/vpn.swagger.json", size: 3732, mode: os.FileMode(420), modTime: time.Unix(1522421331, 0)}
 	a := &asset{bytes: bytes, info: info}
 	return a, nil
 }

+ 113 - 0
net_test.go

@@ -2,6 +2,8 @@ package ovpm
 
 import (
 	"fmt"
+	"net"
+	"reflect"
 	"testing"
 )
 
@@ -320,3 +322,114 @@ func init() {
 	// Init
 	Testing = true
 }
+
+func TestNetworkTypeFromString(t *testing.T) {
+	type args struct {
+		typ string
+	}
+	tests := []struct {
+		name string
+		args args
+		want NetworkType
+	}{
+		{"servernet", args{"SERVERNET"}, SERVERNET},
+		{"route", args{"ROUTE"}, ROUTE},
+		{"unknown", args{"aasdfsafdASDF"}, UNDEFINEDNET},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			if got := NetworkTypeFromString(tt.args.typ); got != tt.want {
+				t.Errorf("NetworkTypeFromString() = %v, want %v", got, tt.want)
+			}
+		})
+	}
+}
+
+func TestGetAllNetworkTypes(t *testing.T) {
+	tests := []struct {
+		name string
+		want []NetworkType
+	}{
+		{"default", []NetworkType{UNDEFINEDNET, SERVERNET, ROUTE}},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			if got := GetAllNetworkTypes(); !reflect.DeepEqual(got, tt.want) {
+				t.Errorf("GetAllNetworkTypes() = %v, want %v", got, tt.want)
+			}
+		})
+	}
+}
+
+func TestIsNetworkType(t *testing.T) {
+	type args struct {
+		s string
+	}
+	tests := []struct {
+		name string
+		args args
+		want bool
+	}{
+		{"servernet", args{"SERVERNET"}, true},
+		{"route", args{"ROUTE"}, true},
+		{"invalid", args{"ADSF"}, false},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			if got := IsNetworkType(tt.args.s); got != tt.want {
+				t.Errorf("IsNetworkType() = %v, want %v", got, tt.want)
+			}
+		})
+	}
+}
+
+func TestIncrementIP(t *testing.T) {
+	type args struct {
+		ip   string
+		mask string
+	}
+	tests := []struct {
+		name    string
+		args    args
+		want    string
+		wantErr bool
+	}{
+		{"default", args{"192.168.1.10", "255.255.255.0"}, "192.168.1.11", false},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			got, err := IncrementIP(tt.args.ip, tt.args.mask)
+			if (err != nil) != tt.wantErr {
+				t.Errorf("IncrementIP() error = %v, wantErr %v", err, tt.wantErr)
+				return
+			}
+			if got != tt.want {
+				t.Errorf("IncrementIP() = %v, want %v", got, tt.want)
+			}
+		})
+	}
+}
+
+func Test_routableIP(t *testing.T) {
+	type args struct {
+		network string
+		ip      net.IP
+	}
+	tests := []struct {
+		name string
+		args args
+		want net.IP
+	}{
+		{"default", args{"ip4", net.ParseIP("0.0.0.0").To4()}, nil},
+		{"local", args{"ip4", net.ParseIP("192.168.1.1").To4()}, net.ParseIP("192.168.1.1").To4()},
+		{"v6linklocal", args{"ip6", net.ParseIP("FE80::").To16()}, net.ParseIP("FE80::").To16()},
+		{"", args{"ip6", net.ParseIP("FE80::").To16()}, net.ParseIP("FE80::").To16()},
+	}
+	for _, tt := range tests {
+		t.Run(tt.name, func(t *testing.T) {
+			if got := routableIP(tt.args.network, tt.args.ip); !reflect.DeepEqual(got, tt.want) {
+				t.Errorf("routableIP() = %v, want %v", got, tt.want)
+			}
+		})
+	}
+}