@@ -351,29 +351,40 @@ jobs:
351351 libgtk-3-dev liblzma-dev xvfb dbus-x11 \
352352 python3-dbus python3-gi
353353
354+ - name : Run Linux Unit Tests
355+ run : |
356+ cd wakelock_plus
357+ flutter pub get
358+ flutter test test/wakelock_plus_linux_plugin_test.dart
359+
354360 - name : Run Integration Tests
355361 run : |
356362 flutter config --enable-linux-desktop
357363 cd wakelock_plus/example
358364 flutter pub get
359365
360366 # We use xvfb-run (display) and dbus-run-session (bus).
361- # Inside, we run a Python mock of 'org.freedesktop.ScreenSaver ' so the plugin logic succeeds.
367+ # Inside, we run a Python mock of 'org.freedesktop.portal.Desktop ' so the plugin logic succeeds.
362368 xvfb-run dbus-run-session bash -c "
363369 python3 -c \"
364370 import dbus, dbus.service
365371 from dbus.mainloop.glib import DBusGMainLoop
366372 from gi.repository import GLib
367- class Mock(dbus.service.Object):
368- def __init__(self):
369- bus_name = dbus.service.BusName('org.freedesktop.ScreenSaver', bus=dbus.SessionBus())
370- dbus.service.Object.__init__(self, bus_name, '/org/freedesktop/ScreenSaver')
371- @dbus.service.method('org.freedesktop.ScreenSaver', in_signature='ss', out_signature='u')
372- def Inhibit(self, a, r): return 1
373- @dbus.service.method('org.freedesktop.ScreenSaver', in_signature='u', out_signature='')
374- def UnInhibit(self, c): pass
373+ class RequestMock(dbus.service.Object):
374+ def __init__(self, bus):
375+ dbus.service.Object.__init__(self, bus, '/org/freedesktop/portal/desktop/request/1_1/test')
376+ @dbus.service.method('org.freedesktop.portal.Request', in_signature='', out_signature='')
377+ def Close(self): pass
378+ class DesktopMock(dbus.service.Object):
379+ def __init__(self, bus):
380+ bus_name = dbus.service.BusName('org.freedesktop.portal.Desktop', bus=bus)
381+ dbus.service.Object.__init__(self, bus_name, '/org/freedesktop/portal/desktop')
382+ @dbus.service.method('org.freedesktop.portal.Inhibit', in_signature='sua{sv}', out_signature='o')
383+ def Inhibit(self, window, flags, options): return dbus.ObjectPath('/org/freedesktop/portal/desktop/request/1_1/test')
375384 DBusGMainLoop(set_as_default=True)
376- Mock()
385+ bus = dbus.SessionBus()
386+ DesktopMock(bus)
387+ RequestMock(bus)
377388 GLib.MainLoop().run()\" &
378389 sleep 5 && \
379390 flutter drive \
0 commit comments