-
Notifications
You must be signed in to change notification settings - Fork 0
/
ipvalidators_test.go
76 lines (62 loc) · 1.91 KB
/
ipvalidators_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package networkvalidator
import "testing"
type ipdatarequest struct {
ipaddress, netmask, ipgateway, ipsubnet, dnsprimary, dnssecondary string
}
var (
networkGood = &ipdatarequest{
ipaddress: "192.168.2.10",
netmask: "255.255.255.0",
ipgateway: "192.168.2.1",
ipsubnet: "192.168.2.0",
dnsprimary: "8.8.8.8",
dnssecondary: "1.1.1.1",
}
validatorGood = NewNetworkValidator(IpV4Name, networkGood.ipaddress, networkGood.netmask, networkGood.ipgateway, networkGood.ipsubnet, networkGood.dnsprimary, networkGood.dnssecondary)
)
func TestValidatorForIpv4_CIDRIsCorrect(t *testing.T) {
if !validatorGood.CIDRIsCorrect() {
t.Error("error in cidr is correct")
}
}
func TestValidatorForIpv4_AddressIpIsLocalhost(t *testing.T) {
if validatorGood.AddressIpIsLocalhost() {
t.Error("address ip is localhost")
}
}
func TestValidatorForIpv4_AddressIpIsMulticast(t *testing.T) {
if validatorGood.AddressIpIsMulticast() {
t.Error("address ip is multicast")
}
}
func TestValidatorForIpv4_AllIpAreCorrect(t *testing.T) {
if !validatorGood.AllIpAreCorrect() {
t.Error("ips are not correct")
}
}
func TestValidatorForIpv4_RangeNetworkIsCorrect(t *testing.T) {
if !validatorGood.RangeNetworkIsCorrect() {
t.Error("range network not correct")
}
}
func TestValidatorForIpv4_Isinrange(t *testing.T) {
if !validatorGood.Isinrange() {
t.Error("ip address is not in range of cidr")
}
}
func TestValidatorForIpv4_SubnetIsCorrect(t *testing.T) {
if !validatorGood.SubnetIsCorrect() {
t.Error("subnet is not correct")
}
}
func TestValidatorForIpv4_OverlapsWith(t *testing.T) {
another := NewIpV4Data("192.168.2.20", "255.255.255.0", "192.168.2.1", "192.168.1.0", "1.1.1.1", "2.2.2.2")
if !validatorGood.OverlapsWith(another.Cidr) {
t.Error("overlapping ip when it's not overlapped")
}
}
func TestValidatorForIpv4_IpGatewayIsinrange(t *testing.T) {
if !validatorGood.IpGatewayIsinrange() {
t.Error("ip is not in subnet")
}
}