| 
8 | 8 | @mock.patch('lsblk.run_command', autospec=True)  | 
9 | 9 | class TestListBlockDevices:  | 
10 | 10 |     def test_lsblk(self, run_command):  | 
11 |  | -        lsblk_return_value = {"stdout": b'''NAME="sdb" KNAME="sdb" PKNAME="" SIZE="64424509440" TYPE="disk" \  | 
12 |  | -RO="0" MOUNTPOINT=""\nNAME="sda" KNAME="sda" PKNAME="" SIZE="64424509440" TYPE="disk" RO="0" MOUNTPOINT=""  | 
13 |  | -        NAME="sda4" KNAME="sda4" PKNAME="sda" SIZE="536870912" TYPE="part" RO="0" MOUNTPOINT=""  | 
14 |  | -        NAME="sda2" KNAME="sda2" PKNAME="sda" SIZE="19327352832" TYPE="part" RO="0" MOUNTPOINT=""  | 
15 |  | -        NAME="sda5" KNAME="sda5" PKNAME="sda" SIZE="4294967296" TYPE="part" RO="0" MOUNTPOINT="/var/log"  | 
16 |  | -        NAME="sda3" KNAME="sda3" PKNAME="sda" SIZE="19863158272" TYPE="part" RO="0" MOUNTPOINT=""  | 
17 |  | -        NAME="XSLocalEXT--1fad55d2--4f07--8145--c78a--297b173e06b0-1fad55d2--4f07--8145--c78a--297b173e06b0" \  | 
18 |  | -KNAME="dm-0" PKNAME="sda3" SIZE="19847446528" TYPE="lvm" RO="0" \  | 
19 |  | -MOUNTPOINT="/run/sr-mount/1fad55d2-4f07-8145-c78a-297b173e06b0"  | 
20 |  | -        NAME="sda1" KNAME="sda1" PKNAME="sda" SIZE="19327352832" TYPE="part" RO="0" MOUNTPOINT="/"  | 
21 |  | -        NAME="sda6" KNAME="sda6" PKNAME="sda" SIZE="1073741824" TYPE="part" RO="0" MOUNTPOINT="[SWAP]"'''}  | 
22 |  | -        find_return_value = {"stdout": b'''/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429  | 
23 |  | -/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429'''}  | 
24 |  | - | 
25 |  | -        def mock_run_command(command):  | 
26 |  | -            if command[0] == "lsblk":  | 
27 |  | -                assert command == ["lsblk", "-P", "-b", "-o", "NAME,KNAME,PKNAME,SIZE,TYPE,RO,MOUNTPOINT"]  | 
28 |  | -                return lsblk_return_value  | 
29 |  | -            if command[0] == "find":  | 
30 |  | -                return find_return_value  | 
31 |  | -        run_command.side_effect = mock_run_command  | 
 | 11 | +        run_command.return_value = {  | 
 | 12 | +            "stdout": b'''NAME="sdb" KNAME="sdb" PKNAME="" SIZE="64424509440" TYPE="disk" RO="0" MOUNTPOINT=""  | 
 | 13 | +NAME="sda" KNAME="sda" PKNAME="" SIZE="64424509440" TYPE="disk" RO="0" MOUNTPOINT=""  | 
 | 14 | +NAME="sda4" KNAME="sda4" PKNAME="sda" SIZE="536870912" TYPE="part" RO="0" MOUNTPOINT=""  | 
 | 15 | +NAME="sda2" KNAME="sda2" PKNAME="sda" SIZE="19327352832" TYPE="part" RO="0" MOUNTPOINT=""  | 
 | 16 | +NAME="sda5" KNAME="sda5" PKNAME="sda" SIZE="4294967296" TYPE="part" RO="0" MOUNTPOINT="/var/log"  | 
 | 17 | +NAME="sda3" KNAME="sda3" PKNAME="sda" SIZE="19863158272" TYPE="part" RO="0" MOUNTPOINT=""  | 
 | 18 | +NAME="XSLocalEXT--1fad55d2--4f07--8145--c78a--297b173e06b0-1fad55d2--4f07--8145--c78a--297b173e06b0" KNAME="dm-0" \  | 
 | 19 | +PKNAME="sda3" SIZE="19847446528" TYPE="lvm" RO="0" MOUNTPOINT="/run/sr-mount/1fad55d2-4f07-8145-c78a-297b173e06b0"  | 
 | 20 | +NAME="sda1" KNAME="sda1" PKNAME="sda" SIZE="19327352832" TYPE="part" RO="0" MOUNTPOINT="/"  | 
 | 21 | +NAME="sda6" KNAME="sda6" PKNAME="sda" SIZE="1073741824" TYPE="part" RO="0" MOUNTPOINT="[SWAP]"'''}  | 
32 | 22 | 
 
  | 
33 | 23 |         expected = ' \  | 
34 | 24 | {"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": "", \  | 
37 |  | -"mountpoint": "", "ro": "0", "type": "disk", \  | 
38 |  | -"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"]}, \  | 
41 |  | -{"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", \  | 
44 |  | -"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", \  | 
47 |  | -"pkname": "sda", "mountpoint": "", "ro": "0", "type": "part", "children": [{"kname": "dm-0", "name": \  | 
 | 25 | +"disk", "size": "64424509440"}, {"kname": "sda", "name": "sda", "pkname": "", "mountpoint": "", "ro": "0", "type": \  | 
 | 26 | +"disk", "children": [{"kname": "sda4", "name": "sda4", "pkname": "sda", "mountpoint": "", "ro": "0", "type": "part", \  | 
 | 27 | +"size": "536870912"}, {"kname": "sda2", "name": "sda2", "pkname": "sda", "mountpoint": "", "ro": "0", "type": "part", \  | 
 | 28 | +"size": "19327352832"}, {"kname": "sda5", "name": "sda5", "pkname": "sda", "mountpoint": "/var/log", "ro": "0", \  | 
 | 29 | +"type": "part", "size": "4294967296"}, {"kname": "sda3", "name": "sda3", "pkname": "sda", "mountpoint": "", "ro": "0", \  | 
 | 30 | +"type": "part", "children": [{"kname": "dm-0", "name": \  | 
48 | 31 | "XSLocalEXT--1fad55d2--4f07--8145--c78a--297b173e06b0-1fad55d2--4f07--8145--c78a--297b173e06b0", "pkname": "sda3", \  | 
49 |  | -"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": \  | 
52 |  | -["/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429", "/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429"]}, \  | 
53 |  | -{"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", \  | 
56 |  | -"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": \  | 
59 |  | -["/dev/disk/by-id/wwn-0x6c81f660e6c1d5002a0a4ad00dacf429", "/dev/disk/by-id/scsi-36c81f660e6c1d5002a0a4ad00dacf429"]}]}'  | 
 | 32 | +"mountpoint": "/run/sr-mount/1fad55d2-4f07-8145-c78a-297b173e06b0", "ro": "0", "type": "lvm", "size": "19847446528"}], \  | 
 | 33 | +"size": "19863158272"}, {"kname": "sda1", "name": "sda1", "pkname": "sda", "mountpoint": "/", "ro": "0", "type": \  | 
 | 34 | +"part", "size": "19327352832"}, {"kname": "sda6", "name": "sda6", "pkname": "sda", "mountpoint": "[SWAP]", "ro": "0", \  | 
 | 35 | +"type": "part", "size": "1073741824"}], "size": "64424509440"}]}'  | 
60 | 36 |         res = list_block_devices(None, None)  | 
61 | 37 | 
 
  | 
62 | 38 |         assert json.loads(res) == json.loads(expected)  | 
 | 39 | +        run_command.assert_called_once_with(["lsblk", "-P", "-b", "-o", "NAME,KNAME,PKNAME,SIZE,TYPE,RO,MOUNTPOINT"])  | 
63 | 40 | 
 
  | 
64 | 41 |     def test_lsblk_error(self, run_command):  | 
65 | 42 |         run_command.side_effect = Exception('Error!')  | 
 | 
0 commit comments