Refactor ww4test to testenv

- Remove global state
- Remove redundant data
- Remove unused functionality (e.g., file permissions)
- Separate directory creation from file writing
- Additional helper functions for file reading and cleanup

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
Signed-off-by: Christian Goll <cgoll@suse.com>
This commit is contained in:
Jonathon Anderson
2023-10-12 22:28:36 -06:00
committed by Christian Goll
parent b5979e41d2
commit 6c344cd5b0
5 changed files with 155 additions and 157 deletions

View File

@@ -0,0 +1,35 @@
package testenv
import (
"testing"
"github.com/hpcng/warewulf/internal/pkg/node"
"github.com/stretchr/testify/assert"
)
func Test_Basic(t *testing.T) {
env := New(t)
defer env.RemoveAll(t)
nodedb, err := node.New()
assert.NoError(t, err)
nodes, err := nodedb.FindAllNodes()
assert.NoError(t, err)
assert.Len(t, nodes, 1)
}
func Test_two_nodes(t *testing.T) {
env := New(t)
env.WriteFile(t, "etc/warewulf/nodes.conf", `WW_INTERNAL: 43
nodeprofiles:
default: {}
nodes:
node1: {}
node2: {}
`)
defer env.RemoveAll(t)
nodedb, err := node.New()
assert.NoError(t, err)
nodes, err := nodedb.FindAllNodes()
assert.NoError(t, err)
assert.Len(t, nodes, 2)
}