package debian_interfaces import ( "bytes" "testing" "github.com/stretchr/testify/assert" "github.com/warewulf/warewulf/internal/app/wwctl/overlay/show" "github.com/warewulf/warewulf/internal/pkg/testenv" "github.com/warewulf/warewulf/internal/pkg/wwlog" ) func Test_wickedOverlay(t *testing.T) { env := testenv.New(t) defer env.RemoveAll(t) env.ImportFile(t, "etc/warewulf/nodes.conf", "nodes.conf") env.ImportFile(t, "var/lib/warewulf/overlays/debian.interfaces/rootfs/etc/network/interfaces.d/default.ww", "../rootfs/etc/network/interfaces.d/default.ww") tests := []struct { name string args []string log string }{ { name: "debian.interfaces", args: []string{"--render", "node1", "debian.interfaces", "etc/network/interfaces.d/default.ww"}, log: debian_interfaces, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { cmd := show.GetCommand() cmd.SetArgs(tt.args) stdout := bytes.NewBufferString("") stderr := bytes.NewBufferString("") logbuf := bytes.NewBufferString("") cmd.SetOut(stdout) cmd.SetErr(stderr) wwlog.SetLogWriter(logbuf) err := cmd.Execute() assert.NoError(t, err) assert.Empty(t, stdout.String()) assert.Empty(t, stderr.String()) assert.Equal(t, tt.log, logbuf.String()) }) } } const debian_interfaces string = `backupFile: true writeFile: true Filename: default # This file is autogenerated by warewulf auto wwnet0 allow-hotplug wwnet0 iface wwnet0 inet static address 192.168.3.21 netmask 255.255.255.0 gateway 192.168.3.1 mtu 1500 backupFile: true writeFile: true Filename: secondary # This file is autogenerated by warewulf auto wwnet1 allow-hotplug wwnet1 iface wwnet1 inet static address 192.168.3.22 netmask 255.255.255.0 gateway 192.168.3.1 mtu 9000 up ifmetric wwnet1 30 `