~ubuntu-branches/ubuntu/precise/ubuntu-sso-client/precise

« back to all changes in this revision

Viewing changes to ubuntu_sso/qt/tests/test_current_user_sign_in_page.py

  • Committer: Package Import Robot
  • Author(s): Natalia Bidart (nessita)
  • Date: 2012-02-22 16:53:51 UTC
  • mfrom: (1.1.32)
  • Revision ID: package-import@ubuntu.com-20120222165351-fvzfkcni6bq18goo
Tags: 2.99.5-0ubuntu1
* New upstream release:
  - Captcha loading is no longer failing for the Qt UI (LP: #933679).
  - Added stylesheets for the Qt UI.
  - Fixed: Qt UI: must call the backend passing reply_handler
    and error_handler (LP: #931452).
  - Make gettext return unicode strings. Also, transform arguments passed
    to the GLib spawnner to bytes (LP: #933632).
  - Try to load the qt main/ implementation when possible, if not default
    to the glib (LP: #933534).
  - Make the bin_dir discoverable when running from the system installation
    (LP: #933039).
  - Implement (so far dummy) timeout_func for the Qt frontend (LP: #933758).
* debian/control:
  - adding missing dependency on gnome-keyring for python-ubuntu-sso-client
    (LP: #938693).
* debian/patches/fix-938626.patch:
  - No more strings coming up from the Designer ui files so we ensure that
    those are marked for translation (LP: #938626).
* debian/watch: updated milestone to 2.99.5.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
    BaseTestCase,
26
26
    FakedBackend,
27
27
    FakedObject,
 
28
    FakeOverlay,
28
29
    FakePageUiStyle,
29
30
    FakeSignal,
30
31
    FakeWizard,
40
41
    @defer.inlineCallbacks
41
42
    def setUp(self):
42
43
        yield super(CurrentUserSignInTestCase, self).setUp()
 
44
        self.patch(gui, "LoadingOverlay", FakeOverlay)
43
45
        self.patch(gui.main, "get_sso_client", FakedBackend)
44
46
        self.signals_results = []
45
47
        self.patch(current_user_sign_in_page.CurrentUserSignInPage,
48
50
            "passwordForgotten", FakeSignal())
49
51
        self.patch(current_user_sign_in_page.CurrentUserSignInPage,
50
52
            "userNotValidated", FakeSignal())
 
53
        self.app_name = 'my_app'
51
54
        self.ui = current_user_sign_in_page.CurrentUserSignInPage(
52
55
            current_user_sign_in_ui.Ui_CurrentUserSignInPage(),
53
56
            '',
 
57
            app_name=self.app_name,
54
58
            parent=None)
55
59
        self.wizard = FakeWizard()
56
60
        self.patch(self.ui, 'wizard', lambda: self.wizard)
57
61
 
58
62
    def test_init(self):
59
63
        """Test the construction of the object."""
60
 
        self.assertTrue('LoggedIn' in self.ui._signals)
61
 
        self.assertTrue('LoginError' in self.ui._signals)
62
 
        self.assertTrue('UserNotValidated' in self.ui._signals)
 
64
        self.assertIn('LoggedIn', self.ui._signals)
 
65
        self.assertIn('LoginError', self.ui._signals)
 
66
        self.assertIn('UserNotValidated', self.ui._signals)
63
67
        self.assertTrue(callable(self.ui._signals['LoggedIn']))
64
68
        self.assertTrue(callable(self.ui._signals['LoginError']))
65
69
        self.assertTrue(callable(self.ui._signals['UserNotValidated']))
81
85
        self.patch(self.ui, "_connect_ui",
82
86
            faked_object._connect_ui)
83
87
        self.ui.setup_page()
84
 
        self.assertTrue('_set_translated_strings' in faked_object._called)
85
 
        self.assertTrue('_setup_signals' in faked_object._called)
86
 
        self.assertTrue('_connect_ui' in faked_object._called)
 
88
        self.assertIn('_set_translated_strings', faked_object._called)
 
89
        self.assertIn('_setup_signals', faked_object._called)
 
90
        self.assertIn('_connect_ui', faked_object._called)
87
91
    # pylint: enable=E1101
88
92
 
89
93
    def test_on_user_not_validated(self):
98
102
            self.signals_results.append((email, password))
99
103
        self.ui.userNotValidated.connect(slot)
100
104
        self.ui.on_user_not_validated()
101
 
        self.assertTrue((email, password) in self.signals_results)
 
105
        self.assertIn((email, password), self.signals_results)
102
106
 
103
107
    def test_initialize_page(self):
104
108
        """Test the initialization method."""
110
114
        self.ui.initializePage()
111
115
        self.assertEqual(wizard.buttons_text[QtGui.QWizard.CancelButton],
112
116
            "Cancel")
113
 
        self.assertTrue(('setButtonLayout',
114
 
            (([QtGui.QWizard.BackButton, QtGui.QWizard.Stretch],), {})) in
 
117
        self.assertIn(('setButtonLayout',
 
118
            (([QtGui.QWizard.BackButton, QtGui.QWizard.Stretch],), {})),
115
119
            wizard.called)
116
120
        self.assertTrue(button.properties['default'])
117
121
        self.assertFalse(button.isEnabled())
178
182
        self.patch(FakedObject, "exposed_methods", exposed_methods)
179
183
        faked_object = FakedObject()
180
184
        self.patch(self.ui, "backend", faked_object)
181
 
        self.ui.ui.email_edit.setText('valid@email')
182
 
        self.ui.ui.password_edit.setText('123456')
 
185
        email = 'valid@email'
 
186
        password = '123456'
 
187
        self.ui.ui.email_edit.setText(email)
 
188
        self.ui.ui.password_edit.setText(password)
183
189
        self.ui.login()
184
 
        self.assertTrue('login_and_ping' in self.ui.backend._called)
185
 
        self.assertEqual(self.ui.backend._called['login_and_ping'],
186
 
            ((None, u'valid@email', u'123456', ping), {}))
 
190
        self.assertEqual(self.ui.overlay.show_counter, 1)
 
191
        self.assert_backend_called('login_and_ping',
 
192
            self.app_name, email, password, ping)
187
193
 
188
194
    def test_login_without_ping(self):
189
195
        """Test the login method."""
192
198
        self.patch(FakedObject, "exposed_methods", exposed_methods)
193
199
        faked_object = FakedObject()
194
200
        self.patch(self.ui, "backend", faked_object)
195
 
        self.ui.ui.email_edit.setText('valid@email')
196
 
        self.ui.ui.password_edit.setText('123456')
 
201
        email = 'valid@email'
 
202
        password = '123456'
 
203
        self.ui.ui.email_edit.setText(email)
 
204
        self.ui.ui.password_edit.setText(password)
197
205
        self.ui.login()
198
 
        self.assertTrue('login' in self.ui.backend._called)
199
 
        self.assertEqual(self.ui.backend._called['login'],
200
 
            ((None, u'valid@email', u'123456'), {}))
 
206
        self.assertEqual(self.ui.overlay.show_counter, 1)
 
207
        self.assert_backend_called('login',
 
208
            self.app_name, email, password)
201
209
 
202
210
    def test_on_login_error(self):
203
211
        """Test the on_login_error method."""
206
214
        self.ui.app_name = app_name
207
215
        error = {'errtype': 'UserNotValidated'}
208
216
        self.ui.on_login_error(app_name, error)
 
217
        self.assertEqual(self.ui.overlay.hide_counter, 2)
209
218
        expected = ((self.ui, 'my_app', ''), {})
210
219
        self.assertTrue(expected, self._called)
211
220
 
221
230
            self.signals_results.append((app, email))
222
231
        self.ui.userLoggedIn.connect(slot)
223
232
        self.ui.on_logged_in(app_name, None)
224
 
        self.assertTrue((app_name, email) in self.signals_results)
 
233
        self.assertEqual(self.ui.overlay.hide_counter, 2)
 
234
        self.assertIn((app_name, email), self.signals_results)
225
235
 
226
236
    def test_on_forgotten_password(self):
227
237
        """Test the on_forgotten_password method."""
231
241
            self.signals_results.append(1)
232
242
        self.ui.passwordForgotten.connect(slot)
233
243
        self.ui.on_forgotten_password()
234
 
        self.assertTrue(1 in self.signals_results)
 
244
        self.assertIn(1, self.signals_results)
235
245
 
236
246
    def test_on_forgotten_password_link_clicked(self):
237
247
        """Test the on_forgotten_password method."""
241
251
            self.signals_results.append(1)
242
252
        self.ui.passwordForgotten.connect(slot)
243
253
        self.ui.ui.forgot_password_label.linkActivated.emit("link")
244
 
        self.assertTrue(1 in self.signals_results)
 
254
        self.assertIn(1, self.signals_results)