@@ -19,8 +19,17 @@ def test_lsblk(self, run_command):
1919 PKNAME="sda3" SIZE="19847446528" TYPE="lvm" RO="0" MOUNTPOINT="/run/sr-mount/1fad55d2-4f07-8145-c78a-297b173e06b0"
2020NAME="sda1" KNAME="sda1" PKNAME="sda" SIZE="19327352832" TYPE="part" RO="0" MOUNTPOINT="/"
2121NAME="sda6" KNAME="sda6" PKNAME="sda" SIZE="1073741824" TYPE="part" RO="0" MOUNTPOINT="[SWAP]"''' }
22- udevadm_return_value = {"stdout" : b'''disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 \
23- disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429''' }
22+ udevadm_return_value = {
23+ "stdout" : b"\n \n " .join (
24+ b"\n " .join ([
25+ b'''N: ''' + dev ,
26+ b'''S: disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429''' ,
27+ b'''S: disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429''' ,
28+ ])
29+ for dev in (
30+ b"sdb" , b"sda" , b"sda1" , b"sda2" , b"sda3" , b"sda4" , b"sda5" , b"sda6" ,
31+ b"XSLocalEXT--1fad55d2--4f07--8145--c78a--297b173e06b0-1fad55d2--4f07--8145--c78a--297b173e06b0" ))
32+ }
2433
2534 def mock_run_command (command ):
2635 if command [0 ] == "lsblk" :
@@ -32,30 +41,30 @@ def mock_run_command(command):
3241
3342 expected = ' \
3443 {"blockdevices": [{"kname": "sdb", "name": "sdb", "pkname": "", "mountpoint": "", "ro": "0", "type": \
35- "disk", "size": "64424509440", "device-id-paths": ["/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 ", \
36- "/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 "]}, {"kname": "sda", "name": "sda", "pkname": "", \
44+ "disk", "size": "64424509440", "device-id-paths": ["/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 ", \
45+ "/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 "]}, {"kname": "sda", "name": "sda", "pkname": "", \
3746 "mountpoint": "", "ro": "0", "type": "disk", \
3847 "children": [{"kname": "sda4", "name": "sda4", "pkname": "sda", "mountpoint": "", "ro": "0", "type": "part", \
39- "size": "536870912", "device-id-paths": ["/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 ", \
40- "/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 "]}, \
48+ "size": "536870912", "device-id-paths": ["/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 ", \
49+ "/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 "]}, \
4150 {"kname": "sda2", "name": "sda2", "pkname": "sda", "mountpoint": "", "ro": "0", "type": "part", \
42- "size": "19327352832", "device-id-paths": ["/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 ", \
43- "/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 "]}, {"kname": "sda5", "name": "sda5", \
51+ "size": "19327352832", "device-id-paths": ["/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 ", \
52+ "/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 "]}, {"kname": "sda5", "name": "sda5", \
4453 "pkname": "sda", "mountpoint": "/var/log", "ro": "0", "type": "part", "size": "4294967296", \
45- "device-id-paths": ["/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 ", \
46- "/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 "]}, {"kname": "sda3", "name": "sda3", \
54+ "device-id-paths": ["/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 ", \
55+ "/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 "]}, {"kname": "sda3", "name": "sda3", \
4756 "pkname": "sda", "mountpoint": "", "ro": "0", "type": "part", "children": [{"kname": "dm-0", "name": \
4857 "XSLocalEXT--1fad55d2--4f07--8145--c78a--297b173e06b0-1fad55d2--4f07--8145--c78a--297b173e06b0", "pkname": "sda3", \
4958 "mountpoint": "/run/sr-mount/1fad55d2-4f07-8145-c78a-297b173e06b0", "ro": "0", "type": "lvm", "size": "19847446528", \
50- "device-id-paths": ["/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 ", \
51- "/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 "]}], "size": "19863158272", "device-id-paths": \
59+ "device-id-paths": ["/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 ", \
60+ "/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 "]}], "size": "19863158272", "device-id-paths": \
5261 ["/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429", "/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429"]}, \
5362 {"kname": "sda1", "name": "sda1", "pkname": "sda", "mountpoint": "/", "ro": "0", "type": \
54- "part", "size": "19327352832", "device-id-paths": ["/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 ", \
55- "/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 "]}, {"kname": "sda6", "name": "sda6", "pkname": "sda", \
63+ "part", "size": "19327352832", "device-id-paths": ["/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 ", \
64+ "/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 "]}, {"kname": "sda6", "name": "sda6", "pkname": "sda", \
5665 "mountpoint": "[SWAP]", "ro": "0", "type": "part", "size": "1073741824", "device-id-paths": \
57- ["/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 ", \
58- "/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 "]}], "size": "64424509440", "device-id-paths": \
66+ ["/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429 ", \
67+ "/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429 "]}], "size": "64424509440", "device-id-paths": \
5968 ["/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429", "/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429"]}]}'
6069 res = list_block_devices (None , None )
6170
@@ -66,8 +75,9 @@ def test_lsblk_error(self, run_command):
6675
6776 with pytest .raises (XenAPIPlugin .Failure ) as e :
6877 list_block_devices (None , None )
69- run_command .assert_called_once_with (
70- ["lsblk" , "-P" , "-b" , "-o" , "NAME,KNAME,PKNAME,SIZE,TYPE,RO,MOUNTPOINT" ]
71- )
78+ run_command .assert_has_calls ([
79+ ["udevadm" , "info" , "--export-db" ],
80+ ["lsblk" , "-P" , "-b" , "-o" , "NAME,KNAME,PKNAME,SIZE,TYPE,RO,MOUNTPOINT" ],
81+ ])
7282 assert e .value .params [0 ] == '-1'
7383 assert e .value .params [1 ] == 'Error!'
0 commit comments