21 from __future__
import absolute_import
26 from autopilot.matchers
import Eventually
28 from testtools.matchers
import Equals
31 logger = logging.getLogger(__name__)
34 if sys.version >=
'3':
40 """Tests for the lock screen."""
42 scenarios = _get_device_emulation_scenarios()
44 @with_lightdm_mock(
"single-pin")
46 """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)))
59 @with_lightdm_mock(
"single-passphrase")
61 """Must be able to unlock the passphrase entry screen."""
63 greeter = self.main_window.get_greeter()
65 if greeter.narrowMode:
69 self.assertThat(lockscreen.shown, Eventually(Equals(
False)))
72 self.assertThat(greeter.shown, Eventually(Equals(
False)))
74 @with_lightdm_mock(
"single-pin")
76 """Entering the wrong pin code must not dismiss the lock screen."""
78 greeter = self.main_window.get_greeter()
80 if greeter.narrowMode:
83 self.main_window.enter_pin_code(
"4321")
84 pinentryField = self.main_window.get_pinentryField()
85 self.assertThat(pinentryField.text, Eventually(Equals(
"")))
86 self.assertThat(lockscreen.shown, Eventually(Equals(
True)))
89 prompt = self.main_window.get_greeter().get_prompt()
90 self.assertThat(prompt.text, Eventually(Equals(
"")))
91 self.assertThat(greeter.shown, Eventually(Equals(
True)))
93 @with_lightdm_mock(
"single-passphrase")
95 """Entering the wrong password must not dismiss the lock screen."""
97 greeter = self.main_window.get_greeter()
99 if greeter.narrowMode:
103 pinentryField = self.main_window.get_pinentryField()
104 self.assertThat(pinentryField.text, Eventually(Equals(
"")))
105 self.assertThat(lockscreen.shown, Eventually(Equals(
True)))
108 prompt = self.main_window.get_greeter().get_prompt()
109 self.assertThat(prompt.text, Eventually(Equals(
"")))
110 self.assertThat(greeter.shown, Eventually(Equals(
True)))
112 def _wait_for_lockscreen(self):
113 """Wait for the lock screen to load, and return it."""
114 pinPadLoader = self.main_window.get_pinPadLoader()
115 self.assertThat(pinPadLoader.progress, Eventually(Equals(1)))
116 lockscreen = self.main_window.get_lockscreen()
117 self.assertThat(lockscreen.shown, Eventually(Equals(
True)))
120 def _enter_pin_passphrase(self, passphrase):
121 """Enter the password specified in 'passphrase' into the password entry
122 field of the pin lock screen.
124 :param passphrase: The string you want to enter.
125 :raises: TypeError if passphrase is not a string.
128 if not isinstance(passphrase, str):
130 "'passphrase' parameter must be a string, not %r."
134 pin_entry_field = self.main_window.get_pinentryField()
135 pin_entry_field.write(passphrase)
136 logger.debug(
"Typed passphrase: %s", pin_entry_field.text)
137 self.keyboard.type(
"\n")
139 def _enter_prompt_passphrase(self, passphrase):
140 """Enter the password specified in 'passphrase' into the password entry
141 field of the main user list's prompt.
143 :param passphrase: The string you want to enter.
144 :raises: TypeError if passphrase is not a string.
147 if not isinstance(passphrase, basestring):
149 "'passphrase' parameter must be a string, not %r."
153 prompt = self.main_window.get_greeter().get_prompt()
154 prompt.write(passphrase)
155 logger.debug(
"Typed passphrase: %s", prompt.text)
156 self.keyboard.type(
"\n")
def test_can_unlock_pin_screen
def test_can_unlock_passphrase_screen
def _enter_pin_passphrase
def test_passphrase_screen_wrong_password
def test_pin_screen_wrong_code
def _enter_prompt_passphrase