57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
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()
|
|
}
|