ips_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package ips_test
  2. import (
  3. "testing"
  4. "github.com/gravitl/netmaker/logic/ips"
  5. "github.com/stretchr/testify/assert"
  6. )
  7. func TestIp4(t *testing.T) {
  8. const ipv4Cidr = "192.168.0.0/16"
  9. const ipv6Cidr = "fde6:be04:fa5e:d076::/64"
  10. //delete all current users
  11. t.Run("Valid Ipv4", func(t *testing.T) {
  12. _, err := ips.GetFirstAddr(ipv4Cidr)
  13. assert.Nil(t, err)
  14. })
  15. t.Run("Invalid Ipv4", func(t *testing.T) {
  16. _, err := ips.GetFirstAddr(ipv6Cidr)
  17. assert.NotNil(t, err)
  18. })
  19. t.Run("Valid IPv6", func(t *testing.T) {
  20. _, err := ips.GetFirstAddr6(ipv6Cidr)
  21. assert.Nil(t, err)
  22. })
  23. t.Run("Invalid IPv6", func(t *testing.T) {
  24. _, err := ips.GetFirstAddr6(ipv4Cidr)
  25. assert.NotNil(t, err)
  26. })
  27. t.Run("Last IPv4", func(t *testing.T) {
  28. addr, err := ips.GetLastAddr(ipv4Cidr)
  29. assert.Nil(t, err)
  30. assert.Equal(t, addr.GetNetIPAddr().IP.String(), "192.168.255.254")
  31. })
  32. t.Run("First IPv4", func(t *testing.T) {
  33. addr, err := ips.GetFirstAddr(ipv4Cidr)
  34. assert.Nil(t, err)
  35. assert.Equal(t, addr.GetNetIPAddr().IP.String(), "192.168.0.1")
  36. })
  37. t.Run("Last IPv6", func(t *testing.T) {
  38. last, err := ips.GetLastAddr6(ipv6Cidr)
  39. assert.Nil(t, err)
  40. assert.Equal(t, last.GetNetIPAddr().IP.String(), "fde6:be04:fa5e:d076:ffff:ffff:ffff:ffff")
  41. })
  42. t.Run("First IPv6", func(t *testing.T) {
  43. first, err := ips.GetFirstAddr6(ipv6Cidr)
  44. assert.Nil(t, err)
  45. assert.Equal(t, first.GetNetIPAddr().IP.String(), "fde6:be04:fa5e:d076::")
  46. })
  47. }