package web import "testing" // R-1082 (operator ruling 2026-10-16 „hide it now"; felhom.eu architecture/16 §11): the drives page never offers the // guest's own data volume to attach — /mnt/sys_drive rides in every whole-box copy. The raw filter // (mountedUnregisteredStores) still sees it; what the page offers (attachableStores) does not. const r1082Mounts = demoHPMounts + "/dev/mapper/pve-vm--9201--disk--1 /var/lib/felhom ext4 rw,relatime 0 0\n" + "/dev/mapper/pve-vm--9201--disk--1 /mnt/films ext4 rw,relatime 0 0\n" + // a second bind of the same volume "/dev/sdd1 /mnt/usb_films ext4 rw,relatime 0 0\n" // a real USB drive with a filesystem func TestR1082_SysDriveAndItsAliasesAreNotOffered(t *testing.T) { got := withoutSystemVolume(mountedUnregisteredStores(r1082Mounts, map[string]bool{}), r1082Mounts, "/mnt/sys_drive") if len(got) != 1 || got[0].Path != "/mnt/usb_films" { t.Fatalf("want only the USB drive offered (positive control), got %+v", got) } } func TestR1082_EmptyConfigFallsBackToHiding(t *testing.T) { got := withoutSystemVolume(mountedUnregisteredStores(demoHPMounts, map[string]bool{}), demoHPMounts, "") if len(got) != 0 { t.Fatalf("with no configured system data path, sys_drive must still be hidden, got %+v", got) } } // The page's own list (the derivation the candidates endpoint and the restore page share) hides it. func TestR1082_AttachableStoresHidesSysDrive(t *testing.T) { s := testServer(t) s.cfg.Paths.SystemDataPath = "/mnt/sys_drive" got := s.attachableStoresFrom(r1082Mounts) if len(got) != 1 || got[0].Path != "/mnt/usb_films" { t.Fatalf("the page must offer only the USB drive, got %+v", got) } }