1
from unittest import TestCase
2
from pitivi.utils.system import getSystem, GnomeSystem, \
3
INHIBIT_LOGOUT, INHIBIT_SUSPEND, INHIBIT_SESSION_IDLE, \
7
class TestGnomeSystem(TestCase):
9
self.system = getSystem()
11
def testPowerInhibition(self):
12
if not isinstance(self.system, GnomeSystem):
13
# We can only test this on a Gnome system.
16
#check that no other programs are inhibiting, otherwise the
18
self.assertTrue(not self.system.session_iface.IsInhibited(
19
INHIBIT_LOGOUT | INHIBIT_USER_SWITCHING | INHIBIT_SUSPEND |
20
INHIBIT_SESSION_IDLE))
22
self.system.inhibitScreensaver('1')
23
self.assertTrue(self.system.session_iface.IsInhibited(
24
INHIBIT_SESSION_IDLE))
26
self.system.inhibitSleep('2')
27
#screensaver should be able to turn off, but
28
self.assertTrue(not self.system.session_iface.IsInhibited(
29
INHIBIT_SESSION_IDLE))
30
#suspend (sleep, suspend, shutdown), logout should be inhibited
31
#IsInhibited will return true if just one is inhibited, so we
32
#check both separately.
33
self.assertTrue(self.system.session_iface.IsInhibited(
35
self.assertTrue(self.system.session_iface.IsInhibited(
38
self.system.uninhibitSleep('2')
39
#screensaver should now be blocked
40
self.assertTrue(self.system.session_iface.IsInhibited(
41
INHIBIT_SESSION_IDLE))
42
#suspend and logout should be unblocked
43
self.assertTrue(not self.system.session_iface.IsInhibited(
45
self.assertTrue(not self.system.session_iface.IsInhibited(
48
self.system.uninhibitScreensaver('1')
49
#now everything should be unblocked
50
self.assertTrue(not self.system.session_iface.IsInhibited(
51
INHIBIT_LOGOUT | INHIBIT_USER_SWITCHING | INHIBIT_SUSPEND |
52
INHIBIT_SESSION_IDLE))