22 from autopilot.matchers
import Eventually
23 from testtools.matchers
import Equals
26 logger = logging.getLogger(__name__)
31 """Tests for the lock screen."""
33 scenarios = _get_device_emulation_scenarios()
36 """Must be able to unlock the PIN entry lock screen."""
40 greeter = self.main_window.get_greeter()
42 if not greeter.tabletMode:
45 self.main_window.enter_pin_code(
"1234")
48 self.assertThat(greeter.shown, Eventually(Equals(
False)))
51 """Must be able to unlock the passphrase entry screen."""
53 self.
_environment[
'LIBLIGHTDM_MOCK_MODE'] =
"single-passphrase"
55 greeter = self.main_window.get_greeter()
57 if not greeter.tabletMode:
63 self.assertThat(greeter.shown, Eventually(Equals(
False)))
66 """Entering the wrong pin code must not dismiss the lock screen."""
69 greeter = self.main_window.get_greeter()
71 if not greeter.tabletMode:
74 self.main_window.enter_pin_code(
"4321")
75 pinentryField = self.main_window.get_pinentryField()
76 self.assertThat(pinentryField.text, Eventually(Equals(
"")))
79 prompt = self.main_window.get_greeter().get_prompt()
80 self.assertThat(prompt.text, Eventually(Equals(
"")))
81 self.assertThat(greeter.shown, Eventually(Equals(
True)))
84 """Entering the wrong password must not dismiss the lock screen."""
85 self.
_environment[
'LIBLIGHTDM_MOCK_MODE'] =
"single-passphrase"
87 greeter = self.main_window.get_greeter()
89 if not greeter.tabletMode:
93 pinentryField = self.main_window.get_pinentryField()
94 self.assertThat(pinentryField.text, Eventually(Equals(
"")))
97 prompt = self.main_window.get_greeter().get_prompt()
98 self.assertThat(prompt.text, Eventually(Equals(
"")))
99 self.assertThat(greeter.shown, Eventually(Equals(
True)))
101 def _wait_for_lockscreen(self):
102 """Wait for the lock screen to load, and return it."""
103 pinPadLoader = self.main_window.get_pinPadLoader()
104 self.assertThat(pinPadLoader.progress, Eventually(Equals(1)))
105 lockscreen = self.main_window.get_lockscreen()
106 self.assertThat(lockscreen.shown, Eventually(Equals(
True)))
109 def _enter_pin_passphrase(self, passphrase):
110 """Enter the password specified in 'passphrase' into the password entry
111 field of the pin lock screen.
113 :param passphrase: The string you want to enter.
114 :raises: TypeError if passphrase is not a string.
117 if not isinstance(passphrase, str):
119 "'passphrase' parameter must be a string, not %r."
123 pin_entry_field = self.main_window.get_pinentryField()
125 self.keyboard.type(passphrase)
126 logger.debug(
"Typed passphrase: %s", pin_entry_field.text)
127 self.assertEqual(pin_entry_field.text, passphrase)
128 self.keyboard.type(
"\n")
130 def _enter_prompt_passphrase(self, passphrase):
131 """Enter the password specified in 'passphrase' into the password entry
132 field of the main user list's prompt.
134 :param passphrase: The string you want to enter.
135 :raises: TypeError if passphrase is not a string.
138 if not isinstance(passphrase, basestring):
140 "'passphrase' parameter must be a string, not %r."
144 prompt = self.main_window.get_greeter().get_prompt()
145 prompt.write(passphrase)
146 logger.debug(
"Typed passphrase: %s", prompt.text)
147 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)