215 lines
3.4 KiB
Go
215 lines
3.4 KiB
Go
package util
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestParseMTU(t *testing.T) {
|
|
type args struct {
|
|
mtuOption string
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
want int
|
|
wantErr bool
|
|
}{
|
|
{
|
|
name: "mtu default",
|
|
args: args{
|
|
mtuOption: "",
|
|
},
|
|
want: 0,
|
|
},
|
|
{
|
|
name: "mtu 1500",
|
|
args: args{
|
|
mtuOption: "1500",
|
|
},
|
|
want: 1500,
|
|
},
|
|
{
|
|
name: "mtu string",
|
|
args: args{
|
|
mtuOption: "thousand-fifty-hundred",
|
|
},
|
|
wantErr: true,
|
|
},
|
|
{
|
|
name: "mtu less than 0",
|
|
args: args{
|
|
mtuOption: "-1",
|
|
},
|
|
wantErr: true,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got, err := ParseMTU(tt.args.mtuOption)
|
|
if (err != nil) != tt.wantErr {
|
|
t.Errorf("ParseMTU() error = %v, wantErr %v", err, tt.wantErr)
|
|
return
|
|
}
|
|
if !reflect.DeepEqual(got, tt.want) {
|
|
t.Errorf("ParseMTU() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestParseVlan(t *testing.T) {
|
|
type args struct {
|
|
vlanOption string
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
want int
|
|
wantErr bool
|
|
}{
|
|
{
|
|
name: "vlan default",
|
|
args: args{
|
|
vlanOption: "",
|
|
},
|
|
want: 0,
|
|
},
|
|
{
|
|
name: "vlan 0",
|
|
args: args{
|
|
vlanOption: "0",
|
|
},
|
|
want: 0,
|
|
},
|
|
{
|
|
name: "vlan less than 0",
|
|
args: args{
|
|
vlanOption: "-1",
|
|
},
|
|
wantErr: true,
|
|
},
|
|
{
|
|
name: "vlan 4094",
|
|
args: args{
|
|
vlanOption: "4094",
|
|
},
|
|
want: 4094,
|
|
},
|
|
{
|
|
name: "vlan greater than 4094",
|
|
args: args{
|
|
vlanOption: "4095",
|
|
},
|
|
wantErr: true,
|
|
},
|
|
{
|
|
name: "vlan string",
|
|
args: args{
|
|
vlanOption: "thousand-fifty-hundred",
|
|
},
|
|
wantErr: true,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got, err := ParseVlan(tt.args.vlanOption)
|
|
if (err != nil) != tt.wantErr {
|
|
t.Errorf("ParseVlan() error = %v, wantErr %v", err, tt.wantErr)
|
|
return
|
|
}
|
|
if !reflect.DeepEqual(got, tt.want) {
|
|
t.Errorf("ParseVlan() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestParseIsolate(t *testing.T) {
|
|
type args struct {
|
|
isolateOption string
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
want string
|
|
wantErr bool
|
|
}{
|
|
{
|
|
name: "isolate default",
|
|
args: args{
|
|
isolateOption: "",
|
|
},
|
|
want: "false",
|
|
},
|
|
{
|
|
name: "isolate true",
|
|
args: args{
|
|
isolateOption: "true",
|
|
},
|
|
want: "true",
|
|
},
|
|
{
|
|
name: "isolate 1",
|
|
args: args{
|
|
isolateOption: "1",
|
|
},
|
|
want: "true",
|
|
},
|
|
{
|
|
name: "isolate greater than 1",
|
|
args: args{
|
|
isolateOption: "2",
|
|
},
|
|
wantErr: true,
|
|
},
|
|
{
|
|
name: "isolate false",
|
|
args: args{
|
|
isolateOption: "false",
|
|
},
|
|
want: "false",
|
|
},
|
|
{
|
|
name: "isolate 0",
|
|
args: args{
|
|
isolateOption: "0",
|
|
},
|
|
want: "false",
|
|
},
|
|
{
|
|
name: "isolate less than 0",
|
|
args: args{
|
|
isolateOption: "-1",
|
|
},
|
|
wantErr: true,
|
|
},
|
|
{
|
|
name: "isolate strict",
|
|
args: args{
|
|
isolateOption: "strict",
|
|
},
|
|
want: "strict",
|
|
},
|
|
{
|
|
name: "isolate unknown value",
|
|
args: args{
|
|
isolateOption: "foobar",
|
|
},
|
|
wantErr: true,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got, err := ParseIsolate(tt.args.isolateOption)
|
|
if (err != nil) != tt.wantErr {
|
|
t.Errorf("ParseIsolate() error = %v, wantErr %v", err, tt.wantErr)
|
|
return
|
|
}
|
|
if !reflect.DeepEqual(got, tt.want) {
|
|
t.Errorf("ParseIsolate() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|