add failing test for #1817
Signed-off-by: Christian Goll <cgoll@suse.com>
This commit is contained in:
96
internal/pkg/warewulfd/nodedb_test.go
Normal file
96
internal/pkg/warewulfd/nodedb_test.go
Normal file
@@ -0,0 +1,96 @@
|
||||
package warewulfd
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/warewulf/warewulf/internal/pkg/testenv"
|
||||
)
|
||||
|
||||
func Test_GetNodeOrSetDiscoverable(t *testing.T) {
|
||||
var tests = map[string]struct {
|
||||
nodesConf string
|
||||
hwaddr string
|
||||
node string
|
||||
err bool
|
||||
}{
|
||||
"empty": {
|
||||
nodesConf: `
|
||||
nodes: {}
|
||||
`,
|
||||
hwaddr: "00:00:00:00:00:00",
|
||||
err: true,
|
||||
},
|
||||
"configured": {
|
||||
nodesConf: `
|
||||
nodes:
|
||||
n1:
|
||||
network devices:
|
||||
default:
|
||||
hwaddr: 00:00:00:00:00:01
|
||||
`,
|
||||
hwaddr: "00:00:00:00:00:01",
|
||||
node: "n1",
|
||||
},
|
||||
"discoverable": {
|
||||
nodesConf: `
|
||||
nodes:
|
||||
n1:
|
||||
discoverable: true
|
||||
network devices:
|
||||
default: {}
|
||||
`,
|
||||
hwaddr: "00:00:00:00:00:01",
|
||||
node: "n1",
|
||||
},
|
||||
"discoverable with primary": {
|
||||
nodesConf: `
|
||||
nodes:
|
||||
n1:
|
||||
discoverable: true
|
||||
primary netdev: default
|
||||
network devices:
|
||||
default: {}
|
||||
`,
|
||||
hwaddr: "00:00:00:00:00:01",
|
||||
node: "n1",
|
||||
},
|
||||
"discoverable without network": {
|
||||
nodesConf: `
|
||||
nodeprofiles:
|
||||
default:
|
||||
network devices:
|
||||
default:
|
||||
netmask: 255.255.255.0
|
||||
nodes:
|
||||
n1:
|
||||
profiles:
|
||||
- default
|
||||
discoverable: true
|
||||
`,
|
||||
hwaddr: "00:00:00:00:00:01",
|
||||
node: "n1",
|
||||
},
|
||||
}
|
||||
|
||||
for name, tt := range tests {
|
||||
t.Run(name, func(t *testing.T) {
|
||||
env := testenv.New(t)
|
||||
defer env.RemoveAll()
|
||||
env.WriteFile("/etc/warewulf/nodes.conf", tt.nodesConf)
|
||||
|
||||
err := LoadNodeDB()
|
||||
assert.NoError(t, err)
|
||||
|
||||
node, err := GetNodeOrSetDiscoverable(tt.hwaddr)
|
||||
if tt.err {
|
||||
assert.Error(t, err)
|
||||
} else {
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, tt.node, node.Id())
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user