def test_forgot_password_invalid_password(self): from horus.views import ForgotPasswordController from pyramid_mailer.interfaces import IMailer from pyramid_mailer.mailer import DummyMailer from horus.interfaces import IUserClass from horus.tests.models import User self.config.registry.registerUtility(User, IUserClass) self.config.add_route('index', '/') self.config.include('horus') self.config.registry.registerUtility(DummyMailer(), IMailer) user = User(username='******', password='******', email='*****@*****.**') user.password = '******' self.session.add(user) self.session.flush() request = self.get_csrf_request(post={ 'email': 'sontek' }, request_method='POST') request.user = None view = ForgotPasswordController(request) response = view.forgot_password() assert len(response['errors']) == 1
def test_forgot_password_valid_user(self): from horus.views import ForgotPasswordController from pyramid_mailer.interfaces import IMailer from pyramid_mailer.mailer import DummyMailer from horus.interfaces import IUserClass from horus.tests.models import User self.config.registry.registerUtility(User, IUserClass) self.config.add_route('index', '/') self.config.include('horus') self.config.registry.registerUtility(DummyMailer(), IMailer) user = User(username='******', password='******', email='*****@*****.**') user.password = '******' self.session.add(user) self.session.flush() request = self.get_csrf_request(post={ 'email': '*****@*****.**' }, request_method='POST') request.user = None flash = Mock() request.session.flash = flash view = ForgotPasswordController(request) response = view.forgot_password() flash.assert_called_with( 'Please check your e-mail to reset your password.', 'success') assert response.status_int == 302
def test_forgot_password_valid_user(self): from horus.views import ForgotPasswordController from pyramid_mailer.interfaces import IMailer from pyramid_mailer.mailer import DummyMailer from horus.interfaces import IUserClass from horus.tests.models import User self.config.registry.registerUtility(User, IUserClass) self.config.add_route('index', '/') self.config.include('horus') self.config.registry.registerUtility(DummyMailer(), IMailer) user = User(username='******', password='******', email='*****@*****.**') user.password = '******' self.session.add(user) self.session.flush() request = self.get_csrf_request(post={ 'email': '*****@*****.**' }, request_method='POST') request.user = None view = ForgotPasswordController(request) with patch('horus.views.FlashMessage') as FlashMessage: response = view.forgot_password() FlashMessage.assert_called_with(request, view.Str.reset_password_email_sent, kind="success") assert response.status_int == 302
def test_forgot_password_invalid_password(self): from horus.views import ForgotPasswordController from pyramid_mailer.interfaces import IMailer from pyramid_mailer.mailer import DummyMailer from horus.interfaces import IUserClass from horus.tests.models import User self.config.registry.registerUtility(User, IUserClass) self.config.add_route('index', '/') self.config.include('horus') self.config.registry.registerUtility(DummyMailer(), IMailer) user = User(username='******', password='******', email='*****@*****.**') user.password = '******' self.session.add(user) self.session.flush() request = self.get_csrf_request(post={ 'email': 'sontek' }, request_method='POST') request.user = None view = ForgotPasswordController(request) response = view.forgot_password() assert len(response['errors']) == 1
def test_forgot_password_valid_user(self): from horus.views import ForgotPasswordController from pyramid_mailer.interfaces import IMailer from pyramid_mailer.mailer import DummyMailer from horus.interfaces import IUserClass from horus.tests.models import User self.config.registry.registerUtility(User, IUserClass) self.config.add_route('index', '/') self.config.include('horus') self.config.registry.registerUtility(DummyMailer(), IMailer) user = User(username='******', password='******', email='*****@*****.**') user.password = '******' self.session.add(user) self.session.flush() request = self.get_csrf_request(post={ 'email': '*****@*****.**' }, request_method='POST') request.user = None view = ForgotPasswordController(request) with patch('horus.views.FlashMessage') as FlashMessage: response = view.forgot_password() FlashMessage.assert_called_with(request, view.Str.reset_password_email_sent, kind="success") assert response.status_int == 302
def test_forgot_password_logged_in_redirects(self): from horus.views import ForgotPasswordController from horus.interfaces import IUserClass from horus.tests.models import User self.config.registry.registerUtility(User, IUserClass) self.config.add_route('index', '/') self.config.include('horus') request = testing.DummyRequest() request.user = Mock() view = ForgotPasswordController(request) response = view.forgot_password() assert response.status_int == 302
def test_forgot_password_logged_in_redirects(self): from horus.views import ForgotPasswordController from horus.interfaces import IUserClass from horus.tests.models import User self.config.registry.registerUtility(User, IUserClass) self.config.add_route('index', '/') self.config.include('horus') request = testing.DummyRequest() request.user = Mock() view = ForgotPasswordController(request) response = view.forgot_password() assert response.status_int == 302
def test_forgot_password_loads(self): from horus.views import ForgotPasswordController from horus.interfaces import IUserClass from horus.tests.models import User from horus.interfaces import IActivationClass from horus.tests.models import Activation self.config.registry.registerUtility(Activation, IActivationClass) self.config.registry.registerUtility(User, IUserClass) self.config.add_route('index', '/') self.config.include('horus') request = testing.DummyRequest() request.user = None view = ForgotPasswordController(request) response = view.forgot_password() assert response.get('form', None)
def test_forgot_password_loads(self): from horus.views import ForgotPasswordController from horus.interfaces import IUserClass from horus.tests.models import User from horus.interfaces import IActivationClass from horus.tests.models import Activation self.config.registry.registerUtility(Activation, IActivationClass) self.config.registry.registerUtility(User, IUserClass) self.config.add_route('index', '/') self.config.include('horus') request = testing.DummyRequest() request.user = None view = ForgotPasswordController(request) response = view.forgot_password() assert response.get('form', None)
def forgot(self): request = self.request controller = ForgotPasswordController(request) form = self.forgot_form result = controller.forgot_password() if isinstance(result, dict): if 'errors' in result: error = colander.Invalid( form.schema, messages.INVALID_FORM ) error.children = result.pop('errors') form.widget.handle_error(form, error) result = { 'form': { 'forgot': form.render() } } else: # TODO: take care of flash success message return None return result