21 from __future__
import absolute_import
25 from autopilot.matchers
import Eventually
27 from testtools.matchers
import Equals
30 logger = logging.getLogger(__name__)
33 if sys.version >=
'3':
39 """Tests for the lock screen."""
41 scenarios = _get_device_emulation_scenarios()
44 """Must be able to unlock the PIN entry lock screen."""
48 greeter = self.main_window.get_greeter()
50 if greeter.narrowMode:
53 self.main_window.enter_pin_code(
"1234")
54 self.assertThat(lockscreen.shown, Eventually(Equals(
False)))
57 self.assertThat(greeter.shown, Eventually(Equals(
False)))
60 """Must be able to unlock the passphrase entry screen."""
62 self.
_environment[
'LIBLIGHTDM_MOCK_MODE'] =
"single-passphrase"
64 greeter = self.main_window.get_greeter()
66 if greeter.narrowMode:
70 self.assertThat(lockscreen.shown, Eventually(Equals(
False)))
73 self.assertThat(greeter.shown, Eventually(Equals(
False)))
76 """Entering the wrong pin code must not dismiss the lock screen."""
79 greeter = self.main_window.get_greeter()
81 if greeter.narrowMode:
84 self.main_window.enter_pin_code(
"4321")
85 pinentryField = self.main_window.get_pinentryField()
86 self.assertThat(pinentryField.text, Eventually(Equals(
"")))
87 self.assertThat(lockscreen.shown, Eventually(Equals(
True)))
90 prompt = self.main_window.get_greeter().get_prompt()
91 self.assertThat(prompt.text, Eventually(Equals(
"")))
92 self.assertThat(greeter.shown, Eventually(Equals(
True)))
95 """Entering the wrong password must not dismiss the lock screen."""
96 self.
_environment[
'LIBLIGHTDM_MOCK_MODE'] =
"single-passphrase"
98 greeter = self.main_window.get_greeter()
100 if greeter.narrowMode:
104 pinentryField = self.main_window.get_pinentryField()
105 self.assertThat(pinentryField.text, Eventually(Equals(
"")))
106 self.assertThat(lockscreen.shown, Eventually(Equals(
True)))
109 prompt = self.main_window.get_greeter().get_prompt()
110 self.assertThat(prompt.text, Eventually(Equals(
"")))
111 self.assertThat(greeter.shown, Eventually(Equals(
True)))
113 def _wait_for_lockscreen(self):
114 """Wait for the lock screen to load, and return it."""
115 pinPadLoader = self.main_window.get_pinPadLoader()
116 self.assertThat(pinPadLoader.progress, Eventually(Equals(1)))
117 lockscreen = self.main_window.get_lockscreen()
118 self.assertThat(lockscreen.shown, Eventually(Equals(
True)))
121 def _enter_pin_passphrase(self, passphrase):
122 """Enter the password specified in 'passphrase' into the password entry
123 field of the pin lock screen.
125 :param passphrase: The string you want to enter.
126 :raises: TypeError if passphrase is not a string.
129 if not isinstance(passphrase, str):
131 "'passphrase' parameter must be a string, not %r."
135 pin_entry_field = self.main_window.get_pinentryField()
137 self.keyboard.type(passphrase)
138 logger.debug(
"Typed passphrase: %s", pin_entry_field.text)
139 self.assertEqual(pin_entry_field.text, passphrase)
140 self.keyboard.type(
"\n")
142 def _enter_prompt_passphrase(self, passphrase):
143 """Enter the password specified in 'passphrase' into the password entry
144 field of the main user list's prompt.
146 :param passphrase: The string you want to enter.
147 :raises: TypeError if passphrase is not a string.
150 if not isinstance(passphrase, basestring):
152 "'passphrase' parameter must be a string, not %r."
156 prompt = self.main_window.get_greeter().get_prompt()
157 prompt.write(passphrase)
158 logger.debug(
"Typed passphrase: %s", prompt.text)
159 self.keyboard.type(
"\n")
def launch_unity(self, kwargs)
def test_can_unlock_passphrase_screen(self)
def _enter_prompt_passphrase(self, passphrase)
def test_passphrase_screen_wrong_password(self)
def test_pin_screen_wrong_code(self)
def test_can_unlock_pin_screen(self)
def _enter_pin_passphrase(self, passphrase)
def _wait_for_lockscreen(self)