package proxmox import "testing" func TestSnapshotDiskScope(t *testing.T) { base := map[string]any{"scsi0": "local:vm-9000,size=4G", "efidisk0": "local:vm-9000-efi,size=4M", "tpmstate0": "local:vm-9000-tpm,size=4M", "ide2": "local:iso/setup.iso,media=cdrom", "ide0": "local:vm-9000-cloudinit,media=cdrom"} disks, err := SnapshotDisks(base) if err != nil || len(disks) != 3 { t.Fatal(disks, err) } for _, key := range []string{"hostpci0", "usb0", "unused0", "args", "hookscript"} { base[key] = "test" if _, err = SnapshotDisks(base); err == nil { t.Fatal("accepted external state", key) } delete(base, key) } for _, disk := range []string{"/dev/disk/by-id/data,size=4G", "local:vm-9000,size=4G,snapshot=0", "local:vm-9000,size=4G,shared=1"} { base["scsi0"] = disk if _, err = SnapshotDisks(base); err == nil { t.Fatal("accepted excluded disk", disk) } } if _, err = SnapshotDisks(map[string]any{"ide2": "none,media=cdrom"}); err == nil { t.Fatal("accepted no disks") } }