import sys import pytest from unittest.mock import Mock import core.config sys.modules['libvirt'] = Mock() import modules.contrib.libvirtvms def build_module(): return modules.contrib.libvirtvms.Module( config=core.config.Config([]), theme=None ) def test_load_module(): __import__("modules.contrib.libvirtvms") def test_input_registration(mocker): input_register = mocker.patch('core.input.register') module = build_module() input_register.assert_called_with( module, button=core.input.LEFT_MOUSE, cmd="virt-manager" ) def test_status_failed(mocker): mocker.patch('libvirt.openReadOnly', return_value=None) module = build_module() status = module.status(None) assert status == "Failed to open connection to the hypervisor" def test_status(mocker): virtMock = mocker.Mock() virtMock.numOfDomains = mocker.Mock(return_value=10) mocker.patch('libvirt.openReadOnly', return_value=virtMock) module = build_module() status = module.status(None) assert status == "VMs 10"