Files
warewulf/internal/app/wwctl/clean/main_test.go
Jonathon Anderson fbd5ca9895 Recommended refactors
- make sure spec sets new cache dir
- move clean out of api
- capture warewulfconf.Paths.Cachedir+"/warewulf" in once place
- split Clean() into multiple functions
- remove WriteFileAbs

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-10-28 15:20:41 -06:00

30 lines
903 B
Go

package clean
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/warewulf/warewulf/internal/pkg/testenv"
"github.com/warewulf/warewulf/internal/pkg/wwlog"
)
func Test_Clean(t *testing.T) {
wwlog.SetLogLevel(wwlog.DEBUG)
env := testenv.New(t)
env.WriteFile(t, "etc/warewulf/nodes.conf",
`WW_INTERNAL: 45
nodeprofiles: {}
nodes:
node1: {}
`)
env.WriteFile(t, "srv/warewulf/overlays/node1/__SYSTEM__.img", "Fake System")
env.WriteFile(t, "srv/warewulf/overlays/node2/__SYSTEM__.img", "Fake System")
env.WriteFile(t, "var/cache/warewulf/test", "Nothing to see here")
baseCmd := GetCommand()
err := baseCmd.Execute()
assert.NoError(t, err)
assert.FileExists(t, env.GetPath("srv/warewulf/overlays/node1/__SYSTEM__.img"))
assert.NoFileExists(t, env.GetPath("srv/warewulf/overlays/node2/__SYSTEM__.img"))
assert.NoFileExists(t, env.GetPath("/var/cache/warewulf/test"))
}