package netutils
import (
"net"
"testing"
)
func TestConversion(t *testing.T) {
ip := net.ParseIP("10.1.2.3")
if ip == nil {
t.Fatal("Failed to parse IP")
}
u := IPToUint32(ip)
t.Log(u)
ip2 := Uint32ToIP(u)
t.Log(ip2)
if !ip2.Equal(ip) {
t.Fatal("Conversion back and forth failed")
}
}
func TestGenerateGateway(t *testing.T) {
sna, err := NewSubnetAllocator("10.1.0.0/16", 8, nil)
if err != nil {
t.Fatal("Failed to initialize IP allocator: ", err)
}
sn, err := sna.GetNetwork()
if err != nil {
t.Fatal("Failed to get network: ", err)
}
if sn.String() != "10.1.0.0/24" {
t.Fatalf("Did not get expected subnet (sn=%s)", sn.String())
}
gatewayIP := GenerateDefaultGateway(sn)
if gatewayIP.String() != "10.1.0.1" {
t.Fatalf("Did not get expected gateway IP Address (gatewayIP=%s)", gatewayIP.String())
}
}