Files
warewulf/internal/pkg/node/methods_test.go
Jonathon Anderson 51f61f93c4 Refactor kernel args as a slice
Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2025-01-21 09:52:58 -07:00

90 lines
2.1 KiB
Go

package node
import (
"net"
"testing"
"github.com/stretchr/testify/assert"
)
func Test_Empty(t *testing.T) {
var netdev NetDev
var netdevPtr *NetDev
t.Run("test for empty", func(t *testing.T) {
if ObjectIsEmpty(netdev) != true {
t.Errorf("netdev must be empty")
}
})
t.Run("test for non empty", func(t *testing.T) {
netdev.Device = "foo"
if ObjectIsEmpty(netdev) == true {
t.Errorf("netdev must be non empty")
}
})
t.Run("test for nil pointer", func(t *testing.T) {
if ObjectIsEmpty(netdevPtr) != true {
t.Errorf("netdev must be empty")
}
})
t.Run("test for pointer assigned", func(t *testing.T) {
netdev.Ipaddr = net.ParseIP("10.10.10.1")
netdevPtr = &netdev
if ObjectIsEmpty(netdevPtr) == true {
t.Errorf("netdev must be empty")
}
})
}
func Test_Node_Expand_Flatten(t *testing.T) {
node := new(Node)
assert.Nil(t, node.Ipmi)
assert.Nil(t, node.Kernel)
assert.Nil(t, node.NetDevs)
assert.Nil(t, node.Tags)
t.Run("test expand", func(t *testing.T) {
node.Expand()
assert.Equal(t, map[string]string{}, node.Tags)
assert.Equal(t, map[string]string{}, node.Ipmi.Tags)
assert.Equal(t, "", node.Kernel.Version)
assert.Len(t, node.Kernel.Args, 0)
assert.Equal(t, map[string]*NetDev{}, node.NetDevs)
})
t.Run("test flatten", func(t *testing.T) {
node.Flatten()
assert.Nil(t, node.Ipmi)
assert.Nil(t, node.Kernel)
assert.Nil(t, node.NetDevs)
assert.Nil(t, node.Tags)
})
}
func Test_Profile_Expand_Flatten(t *testing.T) {
profile := new(Profile)
assert.Nil(t, profile.Ipmi)
assert.Nil(t, profile.Kernel)
assert.Nil(t, profile.NetDevs)
assert.Nil(t, profile.Tags)
t.Run("test expand", func(t *testing.T) {
profile.Expand()
assert.Equal(t, map[string]string{}, profile.Tags)
assert.Equal(t, map[string]string{}, profile.Ipmi.Tags)
assert.Equal(t, "", profile.Kernel.Version)
assert.Len(t, profile.Kernel.Args, 0)
assert.Equal(t, map[string]*NetDev{}, profile.NetDevs)
})
t.Run("test flatten", func(t *testing.T) {
profile.Flatten()
assert.Nil(t, profile.Ipmi)
assert.Nil(t, profile.Kernel)
assert.Nil(t, profile.NetDevs)
assert.Nil(t, profile.Tags)
})
}