Пример #1
0
    def test_run(self, *args):
        """Test multipath device populator."""
        device_get_name = args[0]
        add_slave_devices = args[1]

        devicetree = DeviceTree()
        # set up some fake udev data to verify handling of specific entries
        data = Mock()
        _data = {"ID_WWN": "0x5000c50086fb75ca", "DM_UUID": "1-2-3-4"}

        def _getitem_(key, extra=None):
            return _data.get(key, extra)

        data.get = Mock(side_effect=_getitem_)
        data.__getitem__ = Mock(side_effect=_getitem_)

        device_name = "mpathtest"
        device_get_name.return_value = device_name
        slave_1 = Mock(tags=set())
        slave_1.parents = []
        slave_2 = Mock(tags=set())
        slave_2.parents = []
        devicetree._add_device(slave_1)
        devicetree._add_device(slave_2)
        add_slave_devices.return_value = [slave_1, slave_2]

        helper = self.helper_class(devicetree, data)

        device = helper.run()
        self.assertIsInstance(device, MultipathDevice)
        self.assertTrue(device.exists)
        self.assertEqual(device.name, device_name)
        self.assertEqual(device.wwn, _data["ID_WWN"])
        self.assertTrue(device in devicetree.devices)