package dhcpd import ( "net" "testing" "github.com/stretchr/testify/assert" ) func notify(flags uint32) { } func TestV6StaticLease(t *testing.T) { conf := V6ServerConf{ Enabled: true, RangeStart: "2001::1", notify: notify, } s, err := v6Create(conf) assert.True(t, err == nil) ls := s.GetLeases(LeasesStatic) assert.Equal(t, 0, len(ls)) // add static lease l := Lease{} l.IP = net.ParseIP("2001::1") l.HWAddr, _ = net.ParseMAC("aa:aa:aa:aa:aa:aa") assert.True(t, s.AddStaticLease(l) == nil) // try to add static lease - fail assert.True(t, s.AddStaticLease(l) != nil) // check ls = s.GetLeases(LeasesStatic) assert.Equal(t, 1, len(ls)) assert.Equal(t, "2001::1", ls[0].IP.String()) assert.Equal(t, "aa:aa:aa:aa:aa:aa", ls[0].HWAddr.String()) assert.True(t, ls[0].Expiry.Unix() == leaseExpireStatic) // try to remove static lease - fail l.IP = net.ParseIP("2001::2") l.HWAddr, _ = net.ParseMAC("aa:aa:aa:aa:aa:aa") assert.True(t, s.RemoveStaticLease(l) != nil) // remove static lease l.IP = net.ParseIP("2001::1") l.HWAddr, _ = net.ParseMAC("aa:aa:aa:aa:aa:aa") assert.True(t, s.RemoveStaticLease(l) == nil) // check ls = s.GetLeases(LeasesStatic) assert.Equal(t, 0, len(ls)) s.Stop() }