47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
import pytest
|
|
|
|
import util.cli
|
|
import core.config
|
|
import modules.contrib.dunstctl
|
|
|
|
def build_module():
|
|
return modules.contrib.dunstctl.Module(
|
|
config=core.config.Config([]),
|
|
theme=None
|
|
)
|
|
|
|
def test_load_module():
|
|
__import__("modules.contrib.dunstctl")
|
|
|
|
def test_dunst_running(mocker):
|
|
command = mocker.patch('util.cli.execute', return_value=(0, "false"))
|
|
|
|
module = build_module()
|
|
module.update()
|
|
widget = module.widget()
|
|
|
|
actual = module.state(widget)
|
|
command.assert_called_with('dunstctl is-paused', return_exitcode=True, ignore_errors=True)
|
|
assert actual == ['unmuted']
|
|
|
|
def test_dunst_paused(mocker):
|
|
command = mocker.patch('util.cli.execute', return_value=(0, "true"))
|
|
|
|
module = build_module()
|
|
module.update()
|
|
widget = module.widget()
|
|
|
|
actual = module.state(widget)
|
|
command.assert_called_with('dunstctl is-paused', return_exitcode=True, ignore_errors=True)
|
|
assert actual == ['muted', 'warning']
|
|
|
|
def test_dunst_off(mocker):
|
|
command = mocker.patch('util.cli.execute', return_value=(1, "dontcare"))
|
|
|
|
module = build_module()
|
|
module.update()
|
|
widget = module.widget()
|
|
|
|
actual = module.state(widget)
|
|
command.assert_called_with('dunstctl is-paused', return_exitcode=True, ignore_errors=True)
|
|
assert actual == ['unknown', 'critical']
|