Files
warewulf/internal/pkg/overlay/funcmap_test.go
Jonathon Anderson a1832ad8c1 Complete transfer of Warewulf from HPCng
Warewulf is now being maintained in its own GitHub organization at
github.com/warewulf

Signed-off-by: Jonathon Anderson <janderson@ciq.com>
2024-01-26 21:35:04 -07:00

63 lines
1.2 KiB
Go

package overlay
import (
"github.com/stretchr/testify/assert"
"github.com/warewulf/warewulf/internal/pkg/node"
"testing"
)
func Test_createIgnitionJson(t *testing.T) {
node_config := `WW_INTERNAL: 43
nodes:
n1:
disks:
/dev/vda:
wipe_table: "true"
partitions:
scratch:
should_exist: "true"
filesystems:
/dev/disk/by-partlabel/scratch:
format: btrfs
path: /scratch
wipe_filesystem: "true"`
expected_json := `{
"ignition": {
"version": "3.1.0"
},
"storage": {
"disks": [
{
"device": "/dev/vda",
"partitions": [
{
"label": "scratch",
"shouldExist": true,
"wipePartitionEntry": false
}
],
"wipeTable": true
}
],
"filesystems": [
{
"device": "/dev/disk/by-partlabel/scratch",
"format": "btrfs",
"path": "/scratch",
"wipeFilesystem": true
}
]
}
}`
config, parse_error := node.Parse([]byte(node_config))
assert.Empty(t, parse_error)
nodeInfos, info_error := config.FindAllNodes()
assert.Empty(t, info_error)
node := nodeInfos[0]
assert.JSONEq(t, expected_json, createIgnitionJson(&node))
}