def test_without_user(self): service = pretend.stub( get_user=pretend.call_recorder(lambda userid: None)) request = pretend.stub(find_service=lambda iface, context: service) assert accounts._authenticate(1, request) is None assert service.get_user.calls == [pretend.call(1)]
def test_with_user(self, is_superuser, is_moderator, expected): user = pretend.stub(is_superuser=is_superuser, is_moderator=is_moderator) service = pretend.stub(get_user=pretend.call_recorder(lambda userid: user)) request = pretend.stub(find_service=lambda iface, context: service) assert accounts._authenticate(1, request) == expected assert service.get_user.calls == [pretend.call(1)]
def test_with_user(self, is_superuser, is_moderator, expected): user = pretend.stub(is_superuser=is_superuser, is_moderator=is_moderator) service = pretend.stub(get_user=pretend.call_recorder(lambda userid: user)) request = pretend.stub(find_service=lambda iface, context: service) assert accounts._authenticate(1, request) == expected assert service.get_user.calls == [pretend.call(1)]
def test_without_user(self): service = pretend.stub( get_user=pretend.call_recorder(lambda userid: None) ) request = pretend.stub(find_service=lambda iface, context: service) assert accounts._authenticate(1, request) is None assert service.get_user.calls == [pretend.call(1)]
def test_with_user( self, pyramid_request, pyramid_services, is_superuser, is_moderator, is_psf_staff, password_out_of_date, expected, ): user = pretend.stub( is_superuser=is_superuser, is_moderator=is_moderator, is_psf_staff=is_psf_staff, ) service = pretend.stub( get_user=pretend.call_recorder(lambda userid: user), get_password_timestamp=lambda userid: 0, ) pyramid_services.register_service(service, IUserService, None) pyramid_request.session.password_outdated = lambda ts: password_out_of_date pyramid_request.session.invalidate = pretend.call_recorder(lambda: None) pyramid_request.session.flash = pretend.call_recorder( lambda msg, queue=None: None ) assert accounts._authenticate(1, pyramid_request) == expected assert service.get_user.calls == [pretend.call(1)] if password_out_of_date: assert pyramid_request.session.invalidate.calls == [pretend.call()] assert pyramid_request.session.flash.calls == [ pretend.call("Session invalidated by password change", queue="error") ] else: assert pyramid_request.session.invalidate.calls == [] assert pyramid_request.session.flash.calls == []