def test_login_view(): auth, app, user = _get_flask_app() client = app.test_client() r = client.get(auth.url_sign_in) assert u'Sign in' in to_unicode(r.data) r = client.post(auth.url_sign_in) assert u'<!-- ERROR -->' not in to_unicode(r.data) data = { '_csrf_token': auth.get_csrf_token(), } r = client.post(auth.url_sign_in, data=data) assert u'<!-- ERROR -->' in to_unicode(r.data) assert auth.session_key not in auth.session
def test_reset_password_default_emailer(): auth, app, user = _get_flask_app() client = app.test_client() data = dict(login=user.login, _csrf_token=auth.get_csrf_token()) resp = client.post(auth.url_reset_password, data=data) data = to_unicode(resp.data) assert u'<!-- EMAIL SENT -->' in data
def test_change_password_too_short(): auth, app, user = _get_flask_app() client = app.test_client() auth.login(user) csrf_token = auth.get_csrf_token() r = client.post(auth.url_change_password, data=dict( password='******', np1='a', np2='a', _csrf_token=csrf_token)) data = to_unicode(r.data) assert u'<!-- ERROR TOO SHORT -->' in data
def test_change_password_wrong_current_password(): auth, app, user = _get_flask_app() client = app.test_client() auth.login(user) csrf_token = auth.get_csrf_token() r = client.post(auth.url_change_password, data=dict( password='******', np1='lalala', np2='lalala', _csrf_token=csrf_token)) data = to_unicode(r.data) assert u'<!-- ERROR FAIL -->' in data
def test_change_password_ok(): auth, app, user = _get_flask_app() client = app.test_client() auth.login(user) csrf_token = auth.get_csrf_token() r = client.post(auth.url_change_password, data=dict( password='******', np1='lalala', np2='lalala', _csrf_token=csrf_token)) data = to_unicode(r.data) assert u'<!-- PASSWORD UPDATED -->' in data assert user.has_password('lalala')
def test_change_password_mismatch(): auth, app, user = _get_flask_app() client = app.test_client() auth.login(user) csrf_token = auth.get_csrf_token() r = client.post(auth.url_change_password, data=dict( password='******', np1='lalalala', np2='a', _csrf_token=csrf_token)) data = to_unicode(r.data) print(data) assert u'<!-- ERROR MISMATCH -->' in data
def test_change_password_too_long(): auth, app, user = _get_flask_app() client = app.test_client() auth.login(user) csrf_token = auth.get_csrf_token() HUGE_PASSWORD = '******' * 5000 r = client.post(auth.url_change_password, data=dict( password='******', np1=HUGE_PASSWORD, np2=HUGE_PASSWORD, _csrf_token=csrf_token)) data = to_unicode(r.data) assert u'<!-- ERROR TOO LONG -->' in data
def test_login_very_wrong_credentials(): auth, app, user = _get_flask_app() client = app.test_client() data = { 'login': None, 'password': int, '_csrf_token': auth.get_csrf_token(), } r = client.post(auth.url_sign_in, data=data) assert u'<!-- ERROR -->' in to_unicode(r.data) assert auth.session_key not in auth.session
def test_change_password_redir(): auth, app, user = _get_flask_app() client = app.test_client() r = client.get(auth.url_change_password) assert r.status == '303 SEE OTHER' auth.login(user) r = client.get(auth.url_change_password) data = to_unicode(r.data) assert u'Change password' in data assert u'current password' in data
def test_reset_password_wrong_token(): auth, app, user = _get_flask_app() client = app.test_client() log = [] def send_email(user, subject, msg): log.append(msg) auth.send_email = send_email user.get_token() r = client.get(auth.url_reset_password + 'xxx/') data = to_unicode(r.data) print(data) assert u'<!-- ERROR WRONG TOKEN -->' in data
def test_reset_password(): auth, app, user = _get_flask_app() client = app.test_client() log = [] def send_email(user, subject, msg): log.append(msg) auth.send_email = send_email user.get_token() r = client.get(auth.url_reset_password) data = to_unicode(r.data) print(data) assert u'Reset password' in data
def test_reset_password_email_sent(): auth, app, user = _get_flask_app() client = app.test_client() log = [] def send_email(user, subject, msg): log.append(msg) auth.send_email = send_email token = user.get_token() data = dict(login=user.login, _csrf_token=auth.get_csrf_token()) r = client.post(auth.url_reset_password, data=data) data = to_unicode(r.data) assert u'<!-- EMAIL SENT -->' in data print(log) assert u'{0}{1}'.format(auth.url_reset_password, token[:5]) in log[0]
def test_reset_password_wrong_account(): auth, app, user = _get_flask_app() client = app.test_client() log = [] def send_email(user, subject, msg): log.append(msg) auth.send_email = send_email user.get_token() data = dict(login=u'nn', _csrf_token=auth.get_csrf_token()) r = client.post(auth.url_reset_password, data=data) data = to_unicode(r.data) print(data) assert u'<!-- ERROR WRONG USER -->' in data
def test_reset_password_good_token(): auth, app, user = _get_flask_app() client = app.test_client() log = [] def send_email(user, subject, msg): log.append(msg) auth.send_email = send_email token = user.get_token() r = client.get(auth.url_reset_password + token + '/') data = to_unicode(r.data) assert auth.session_key in auth.session assert u'Change password' in data assert u'current password' not in data r = client.get(auth.url_reset_password) assert r.status == '303 SEE OTHER'