Merge pull request #699 from izn/add-cpu-module-tests

Add CPU module tests
This commit is contained in:
tobi-wan-kenobi 2020-09-02 02:20:47 +02:00 committed by GitHub
commit 1b66e17780
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,7 +1,71 @@
import pytest import pytest
from unittest import TestCase, mock
import core.config
import core.widget
import modules.core.cpu
pytest.importorskip("psutil") pytest.importorskip("psutil")
def test_load_module(): def build_module():
config = core.config.Config([])
return modules.core.cpu.Module(config=config, theme=None)
def cpu_widget(module):
return module.widgets()[0]
class TestCPU(TestCase):
def test_load_module(self):
__import__("modules.core.cpu") __import__("modules.core.cpu")
@mock.patch('psutil.cpu_percent')
def test_cpu_percent(self, cpu_percent_mock):
cpu_percent_mock.return_value = 5
module = build_module()
assert cpu_widget(module).full_text() == '5.0%'
@mock.patch('psutil.cpu_percent')
def test_cpu_percent_update(self, cpu_percent_mock):
cpu_percent_mock.return_value = 10
module = build_module()
assert cpu_widget(module).full_text() == '10.0%'
cpu_percent_mock.return_value = 20
module.update()
assert cpu_widget(module).full_text() == '20.0%'
@mock.patch('psutil.cpu_percent')
def test_healthy_state(self, cpu_percent_mock):
cpu_percent_mock.return_value = 50
module = build_module()
assert module.state(None) == None
@mock.patch('psutil.cpu_percent')
def test_warning_state(self, cpu_percent_mock):
cpu_percent_mock.return_value = 75
module = build_module()
assert module.state(None) == 'warning'
@mock.patch('psutil.cpu_percent')
def test_critical_state(self, cpu_percent_mock):
cpu_percent_mock.return_value = 82
module = build_module()
assert module.state(None) == 'critical'
@mock.patch('core.input.register')
def test_register_left_mouse_action(self, input_register_mock):
module = build_module()
input_register_mock.assert_called_with(
module,
button=core.input.LEFT_MOUSE,
cmd='gnome-system-monitor'
)