From a78ebaaad1291f5cecfa5ce81f1c3b2e8b88f970 Mon Sep 17 00:00:00 2001 From: 0xdcarns Date: Tue, 19 Apr 2022 11:33:42 -0400 Subject: [PATCH] added tests --- logic/ips/ips.go | 4 ++-- logic/ips/ips_test.go | 50 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 logic/ips/ips_test.go diff --git a/logic/ips/ips.go b/logic/ips/ips.go index df310d9d..477c906c 100644 --- a/logic/ips/ips.go +++ b/logic/ips/ips.go @@ -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 } diff --git a/logic/ips/ips_test.go b/logic/ips/ips_test.go new file mode 100644 index 00000000..cc343253 --- /dev/null +++ b/logic/ips/ips_test.go @@ -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::") + }) +}