added tests

This commit is contained in:
0xdcarns 2022-04-19 11:33:42 -04:00
parent 611a425852
commit a78ebaaad1
2 changed files with 52 additions and 2 deletions

View file

@ -51,6 +51,6 @@ func GetLastAddr6(cidr6 string) (*ipaddr.IPAddress, error) {
if !currentCidr.IsIPv6() {
return nil, fmt.Errorf("invalid IPv6 CIDR provided to GetLastAddr6")
}
lower := currentCidr.GetLower()
return lower, nil
upper := currentCidr.GetUpper()
return upper, nil
}

50
logic/ips/ips_test.go Normal file
View file

@ -0,0 +1,50 @@
package ips_test
import (
"testing"
"github.com/gravitl/netmaker/logic/ips"
"github.com/stretchr/testify/assert"
)
func TestIp4(t *testing.T) {
const ipv4Cidr = "192.168.0.0/16"
const ipv6Cidr = "fde6:be04:fa5e:d076::/64"
//delete all current users
t.Run("Valid Ipv4", func(t *testing.T) {
_, err := ips.GetFirstAddr(ipv4Cidr)
assert.Nil(t, err)
})
t.Run("Invalid Ipv4", func(t *testing.T) {
_, err := ips.GetFirstAddr(ipv6Cidr)
assert.NotNil(t, err)
})
t.Run("Valid IPv6", func(t *testing.T) {
_, err := ips.GetFirstAddr6(ipv6Cidr)
assert.Nil(t, err)
})
t.Run("Invalid IPv6", func(t *testing.T) {
_, err := ips.GetFirstAddr6(ipv4Cidr)
assert.NotNil(t, err)
})
t.Run("Last IPv4", func(t *testing.T) {
addr, err := ips.GetLastAddr(ipv4Cidr)
assert.Nil(t, err)
assert.Equal(t, addr.GetNetIPAddr().IP.String(), "192.168.255.254")
})
t.Run("First IPv4", func(t *testing.T) {
addr, err := ips.GetFirstAddr(ipv4Cidr)
assert.Nil(t, err)
assert.Equal(t, addr.GetNetIPAddr().IP.String(), "192.168.0.1")
})
t.Run("Last IPv6", func(t *testing.T) {
last, err := ips.GetLastAddr6(ipv6Cidr)
assert.Nil(t, err)
assert.Equal(t, last.GetNetIPAddr().IP.String(), "fde6:be04:fa5e:d076:ffff:ffff:ffff:ffff")
})
t.Run("First IPv6", func(t *testing.T) {
first, err := ips.GetFirstAddr6(ipv6Cidr)
assert.Nil(t, err)
assert.Equal(t, first.GetNetIPAddr().IP.String(), "fde6:be04:fa5e:d076::")
})
}