Solaar/tests/logitech_receiver/test_desktop_notifications.py

35 lines
861 B
Python

from unittest import mock
from logitech_receiver import desktop_notifications
# The mock_desktop_notifications autouse fixture (tests/conftest.py) swaps the
# libnotify backend for a mock, so these exercise the real code paths without
# raising real desktop notifications.
def test_init():
result = desktop_notifications.init()
assert result == desktop_notifications.available
def test_uninit():
assert desktop_notifications.uninit() is None
class MockDevice(mock.Mock):
name = "MockDevice"
def close():
return True
def test_show(mock_desktop_notifications):
result = desktop_notifications.show(MockDevice(), "unknown")
if desktop_notifications.available:
assert result is not None
mock_desktop_notifications.Notification.return_value.show.assert_called()
else:
assert result is None