def test_profile_update_profile(self): from horus.views import ProfileController from hem.interfaces import IDBSession from horus.events import ProfileUpdatedEvent from horus.models import crypt 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') user = User(username='******', email='*****@*****.**') user.password = '******' self.session.add(user) self.session.flush() def handle_profile_updated(event): request = event.request session = request.registry.getUtility(IDBSession) session.commit() self.config.add_subscriber(handle_profile_updated, ProfileUpdatedEvent) request = self.get_csrf_request(post={ 'email': '*****@*****.**', }, request_method='POST') request.user = user flash = Mock() request.session.flash = flash request.matchdict = Mock() get = Mock() get.return_value = user.id request.matchdict.get = get view = ProfileController(request) view.profile() new_user = User.get_by_id(request, user.id) assert new_user.email == '*****@*****.**' assert crypt.check(user.password, 'temp' + user.salt)
def test_profile_bad_id(self): from horus.views import ProfileController from horus.interfaces import IUserClass from horus.interfaces import IActivationClass from horus.tests.models import User from horus.tests.models import Activation self.config.registry.registerUtility(User, IUserClass) self.config.registry.registerUtility(Activation, IActivationClass) self.config.add_route('index', '/') self.config.include('horus') user = User(username='******', email='*****@*****.**') user.password = '******' self.session.add(user) self.session.flush() request = testing.DummyRequest() request.user = Mock() request.matchdict = Mock() get = Mock() get.return_value = 99 request.matchdict.get = get view = ProfileController(request) response = view.profile() assert response.status_int == 404
def test_profile_update_profile(self): from horus.views import ProfileController from hem.interfaces import IDBSession from horus.events import ProfileUpdatedEvent from horus.models import crypt 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') user = User(username='******', email='*****@*****.**') user.password = '******' self.session.add(user) self.session.flush() def handle_profile_updated(event): request = event.request session = request.registry.getUtility(IDBSession) session.commit() self.config.add_subscriber(handle_profile_updated, ProfileUpdatedEvent) request = self.get_csrf_request(post={ 'email': '*****@*****.**', }, request_method='POST') request.user = user request.matchdict = Mock() get = Mock() get.return_value = user.id request.matchdict.get = get view = ProfileController(request) view.profile() new_user = User.get_by_id(request, user.id) assert new_user.email == '*****@*****.**' assert crypt.check(user.password, 'temp' + user.salt)
def test_profile_loads(self): from horus.views import ProfileController from horus.interfaces import IHorusUserClass from horus.interfaces import IHorusActivationClass from horus.tests.models import User from horus.tests.models import Activation self.config.registry.registerUtility(User, IHorusUserClass) self.config.registry.registerUtility(Activation, IHorusActivationClass) self.config.add_route('index', '/') self.config.include('horus') user = User(username='******', email='*****@*****.**') user.set_password('temp') self.session.add(user) self.session.flush() request = testing.DummyRequest() request.user = Mock() flash = Mock() request.session.flash = flash request.matchdict = Mock() get = Mock() get.return_value = user.id request.matchdict.get = get view = ProfileController(request) response = view.profile() assert response.get('user', None) == user