Files
openlan/pkg/cache/network_test.go
2022-10-10 16:39:47 +08:00

75 lines
2.4 KiB
Go

package cache
import (
"github.com/luscis/openlan/pkg/models"
"github.com/luscis/openlan/pkg/schema"
"github.com/stretchr/testify/assert"
"testing"
)
func Test_Network_LeaseAdd(t *testing.T) {
// 0
Network.AddLease("fake-alias", "192.168.1.1", "fake-net")
{
leAddr := Network.GetLeaseByAddr("192.168.1.1", "fake-net")
assert.Equal(t, "fake-alias", leAddr.Alias, "MUST be found")
leAlias := Network.GetLease("fake-alias", "fake-net")
assert.Equal(t, "192.168.1.1", leAlias.Address, "MUST be found")
}
Network.DelLease("fake-alias", "fake-net")
{
leAddr := Network.GetLeaseByAddr("192.168.1.1", "fake-net")
assert.Equal(t, (*schema.Lease)(nil), leAddr, "MUST be not found")
leAlias := Network.GetLease("fake=alias", "fake-net")
assert.Equal(t, (*schema.Lease)(nil), leAlias, "MUST be not found")
}
Network.AddLease("fake-aa", "192.168.1.1", "fake-aa")
Network.AddLease("fake-cc", "192.168.1.1", "fake-aa")
Network.DelLease("fake-aa", "fake-net")
Network.DelLease("fake-cc", "fake-net")
{
leAddr := Network.GetLeaseByAddr("192.168.1.1", "fake-net")
assert.Equal(t, (*schema.Lease)(nil), leAddr, "MUST be not found")
leAlias := Network.GetLease("fake=alias", "fake-net")
assert.Equal(t, (*schema.Lease)(nil), leAlias, "MUST be not found")
}
// 1
Network.AddLease("fake-aa", "192.168.1.1", "fake-aa")
Network.AddLease("fake-aa", "192.168.1.1", "fake-cc")
{
lea := Network.GetLease("fake-aa", "fake-aa")
assert.Equal(t, "192.168.1.1", lea.Address, "MUST be found")
lec := Network.GetLease("fake-aa", "fake-cc")
assert.Equal(t, "192.168.1.1", lec.Address, "MUST be found")
}
n0 := &models.Network{
IpStart: "192.168.1.0",
IpEnd: "192.168.1.222",
Name: "fake-aa",
}
Network.Add(n0)
Network.NewLease("fake-vv", n0.Name)
Network.NewLease("fake-dd", n0.Name)
{
le1 := Network.GetLease("fake-vv", n0.Name)
assert.Equal(t, "192.168.1.0", le1.Address, "MUST be .0")
le2 := Network.GetLease("fake-dd", n0.Name)
assert.Equal(t, "192.168.1.2", le2.Address, "MUST be .2")
}
// 2
n1 := &models.Network{
IpStart: "192.168.1.0",
IpEnd: "192.168.1.222",
Name: "fake-dd",
}
Network.Add(n1)
Network.NewLease("fake-vv", n1.Name)
Network.NewLease("fake-dd", n1.Name)
{
le1 := Network.GetLease("fake-vv", n1.Name)
assert.Equal(t, "192.168.1.0", le1.Address, "MUST be .0")
le2 := Network.GetLease("fake-dd", n1.Name)
assert.Equal(t, "192.168.1.1", le2.Address, "MUST be .1")
}
}