summaryrefslogtreecommitdiff
path: root/tests/end2end/fixtures/notificationserver.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/end2end/fixtures/notificationserver.py')
-rw-r--r--tests/end2end/fixtures/notificationserver.py44
1 files changed, 21 insertions, 23 deletions
diff --git a/tests/end2end/fixtures/notificationserver.py b/tests/end2end/fixtures/notificationserver.py
index 5fafc8c05..eebe4ffb4 100644
--- a/tests/end2end/fixtures/notificationserver.py
+++ b/tests/end2end/fixtures/notificationserver.py
@@ -20,15 +20,13 @@
import dataclasses
import itertools
from typing import Dict, List
-
-from qutebrowser.qt.core import QObject, QByteArray, QUrl, pyqtSlot
-from qutebrowser.qt.gui import QImage
-from qutebrowser.qt.dbus import QDBusConnection, QDBusMessage
+from qutebrowser.qt import gui
import pytest
from qutebrowser.browser.webengine import notification
from qutebrowser.utils import utils
from tests.helpers import testutils
+from qutebrowser.qt import dbus, core
@dataclasses.dataclass
@@ -42,7 +40,7 @@ class NotificationProperties:
closed_via_web: bool = False
-class TestNotificationServer(QObject):
+class TestNotificationServer(core.QObject):
"""A libnotify notification server used for testing."""
def __init__(self, service: str):
@@ -55,7 +53,7 @@ class TestNotificationServer(QObject):
super().__init__()
self._service = service
# Trying to connect to the bus doesn't fail if there's no bus.
- self._bus = QDBusConnection.sessionBus()
+ self._bus = dbus.QDBusConnection.sessionBus()
self._message_id_gen = itertools.count(1)
# A dict mapping notification IDs to currently-displayed notifications.
self.messages: Dict[int, NotificationProperties] = {}
@@ -82,7 +80,7 @@ class TestNotificationServer(QObject):
notification.DBusNotificationAdapter.PATH,
notification.DBusNotificationAdapter.INTERFACE,
self,
- QDBusConnection.RegisterOption.ExportAllSlots,
+ dbus.QDBusConnection.RegisterOption.ExportAllSlots,
)
return True
@@ -110,7 +108,7 @@ class TestNotificationServer(QObject):
}
for key in 'x-qutebrowser-origin', 'x-kde-origin-name':
value = hints[key]
- url = QUrl(value)
+ url = core.QUrl(value)
assert url.isValid(), value
assert url.scheme() == 'http', value
assert url.host() == 'localhost', value
@@ -133,8 +131,8 @@ class TestNotificationServer(QObject):
has_alpha: bool,
bits_per_color: int,
channel_count: int,
- data: QByteArray,
- ) -> QImage:
+ data: core.QByteArray,
+ ) -> gui.QImage:
"""Make sure the given image data is valid and return a QImage."""
# Chromium limit?
assert 0 < width <= 320
@@ -151,8 +149,8 @@ class TestNotificationServer(QObject):
assert channel_count == (4 if has_alpha else 3)
assert bytes_per_line >= width * channel_count
- qimage_format = QImage.Format.Format_RGBA8888 if has_alpha else QImage.Format.Format_RGB888
- img = QImage(data, width, height, bytes_per_line, qimage_format)
+ qimage_format = gui.QImage.Format.Format_RGBA8888 if has_alpha else gui.QImage.Format.Format_RGB888
+ img = gui.QImage(data, width, height, bytes_per_line, qimage_format)
assert not img.isNull()
assert img.width() == width
assert img.height() == height
@@ -161,7 +159,7 @@ class TestNotificationServer(QObject):
def close(self, notification_id: int) -> None:
"""Sends a close notification for the given ID."""
- message = QDBusMessage.createSignal(
+ message = dbus.QDBusMessage.createSignal(
notification.DBusNotificationAdapter.PATH,
notification.DBusNotificationAdapter.INTERFACE,
"NotificationClosed")
@@ -181,7 +179,7 @@ class TestNotificationServer(QObject):
def action(self, notification_id: int, name: str) -> None:
"""Sends an action notification for the given ID."""
- message = QDBusMessage.createSignal(
+ message = dbus.QDBusMessage.createSignal(
notification.DBusNotificationAdapter.PATH,
notification.DBusNotificationAdapter.INTERFACE,
"ActionInvoked")
@@ -193,10 +191,10 @@ class TestNotificationServer(QObject):
# Everything below is exposed via DBus
# pylint: disable=invalid-name
- @pyqtSlot(QDBusMessage, result="uint")
- def Notify(self, dbus_message: QDBusMessage) -> int:
+ @core.pyqtSlot(dbus.QDBusMessage, result="uint")
+ def Notify(self, dbus_message: dbus.QDBusMessage) -> int:
assert dbus_message.signature() == 'susssasa{sv}i'
- assert dbus_message.type() == QDBusMessage.MessageType.MethodCallMessage
+ assert dbus_message.type() == dbus.QDBusMessage.MessageType.MethodCallMessage
message = self._parse_notify_args(*dbus_message.arguments())
@@ -209,11 +207,11 @@ class TestNotificationServer(QObject):
self.last_id = message_id
return message_id
- @pyqtSlot(QDBusMessage, result="QStringList")
- def GetCapabilities(self, message: QDBusMessage) -> List[str]:
+ @core.pyqtSlot(dbus.QDBusMessage, result="QStringList")
+ def GetCapabilities(self, message: dbus.QDBusMessage) -> List[str]:
assert not message.signature()
assert not message.arguments()
- assert message.type() == QDBusMessage.MessageType.MethodCallMessage
+ assert message.type() == dbus.QDBusMessage.MessageType.MethodCallMessage
capabilities = ["actions", "x-kde-origin-name"]
if self.supports_body_markup:
@@ -221,10 +219,10 @@ class TestNotificationServer(QObject):
return capabilities
- @pyqtSlot(QDBusMessage)
- def CloseNotification(self, dbus_message: QDBusMessage) -> None:
+ @core.pyqtSlot(dbus.QDBusMessage)
+ def CloseNotification(self, dbus_message: dbus.QDBusMessage) -> None:
assert dbus_message.signature() == 'u'
- assert dbus_message.type() == QDBusMessage.MessageType.MethodCallMessage
+ assert dbus_message.type() == dbus.QDBusMessage.MessageType.MethodCallMessage
message_id = dbus_message.arguments()[0]
self.messages[message_id].closed_via_web = True