From 7cc953d0a2b0ee2a0f2d8f422427de8924f9f113 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jan 19 2016 15:21:03 +0000 Subject: Add test trying to log-in with an invalid password stored in the DB --- diff --git a/tests/test_pagure_flask_ui_login.py b/tests/test_pagure_flask_ui_login.py index 407c7be..acb38e7 100644 --- a/tests/test_pagure_flask_ui_login.py +++ b/tests/test_pagure_flask_ui_login.py @@ -233,6 +233,30 @@ class PagureFlaskLogintests(tests.Modeltests): 'Could not set the session in the db, please report this error ' 'to an admin', output.data) + # Make the password invalid + item = pagure.lib.search_user(self.session, username='foouser') + self.assertEqual(item.user, 'foouser') + self.assertTrue(item.password.startswith('$2$')) + + # Remove the $2$ + item.password = item.password[3:] + self.session.add(item) + self.session.commit + + # Check the password + item = pagure.lib.search_user(self.session, username='foouser') + self.assertEqual(item.user, 'foouser') + self.assertFalse(item.password.startswith('$2$')) + + # Try login again + output = self.app.post('/dologin', data=data, follow_redirects=True) + self.assertEqual(output.status_code, 200) + self.assertIn('Login - Pagure', output.data) + self.assertIn( + '
', output.data) + self.assertIn('Username or password of invalid format.', output.data) + + if __name__ == '__main__': SUITE = unittest.TestLoader().loadTestsFromTestCase(PagureFlaskLogintests)