def test_authenticate(self): """ Verify that User autheticate method can match credentials and return a user if it should. """ authenticated_user = User.authenticate(self.test_user.email, self.test_password) self.assertNotEqual(None, authenticated_user) self.assertEqual(self.test_user.id, authenticated_user.id)
def _create_admin_user(self): """ Create an admin user exposes it as self.test_user """ self.test_email = '*****@*****.**' self.test_password = '******' self.test_user = User.create_user(email=self.test_email, first_name='test', last_name='test', password=self.test_password, groups=['admin'])
def login(request): """Log a user in check their credentials""" required_params_list = ['email', 'password'] for param in required_params_list: if not request.POST.get(param): raise Exception('Param: %s missing from request' % (param)) user = User.authenticate(request.POST['email'], request.POST['password']) if user is None: raise Exception('Invalid Credentials') headers = remember(request, str(user.id)) return HTTPFound(location='dashboard', headers=headers)
def signup_post(request): """ Process a request to sign a user up. Returns errors or a redirect on success """ required_params_list = ['first_name', 'last_name', 'email', 'password'] for param in required_params_list: if not request.POST.get(param): raise Exception('Param: %s missing from request' % (param)) # check if user exists based on email new_user = User.create_user(request.POST['email'], request.POST['first_name'], request.POST['last_name'], request.POST['password']) # log user in and redirect headers = remember(request, str(new_user.id)) return HTTPMovedPermanently(location='dashboard', headers=headers)