Exemplo n.º 1
0
    def test__extract_hctl_from_device_link(self, _populate_disks_entries_mock, readlink_mock):
        def readlink_side_effect(device_name):
            links = {
                "/sys/block/sda/device": "../../../0:0:0:0",
                "/sys/block/sdb/device": "0000:00/0000:00:10:0/host0/target0:0:0/0:0:0:0",
                "/sys/block/sdc/device": "platform/host1/session1/target1:0:0:1/1:0:0:3",
                "/sys/block/sdd/device": "../../../15:16:17:333",
            }
            return links[device_name]

        device_names = ["sda", "sdb", "sdc", "sdd"]
        expected_results = [HctlInfo(0, 0, 0, 0), HctlInfo(0, 0, 0, 0), HctlInfo(1, 0, 0, 3), HctlInfo(15, 16, 17, 333)]

        readlink_mock.side_effect = readlink_side_effect
        dq = LinuxDiskDeviceQueries()
        for expected_result, device_name in map(None, expected_results, device_names):
            self.assertEqual(expected_result, dq._extract_hctl_from_device_link(device_name))
Exemplo n.º 2
0
 def test__extract_hctl_from_device_link_returns_none_on_oserror(self, _populate_disks_entries_mock, readlink_mock):
     readlink_mock.side_effect = OSError()
     dq = LinuxDiskDeviceQueries()
     self.assertEqual(None, dq._extract_hctl_from_device_link("sda"))