def test_unit__authenticate_user___err__wrong_user(self): api = UserApi( current_user=None, session=self.session, config=self.config, ) with pytest.raises(AuthenticationFailed): api.authenticate_user('*****@*****.**', 'wrong_password')
def test_unit__authenticate_user___ok__nominal_case(self): api = UserApi( current_user=None, session=self.session, config=self.config, ) user = api.authenticate_user('*****@*****.**', '*****@*****.**') assert isinstance(user, User) assert user.email == '*****@*****.**'
def test_unit__authenticate_user___err__user_not_active(self): api = UserApi( current_user=None, session=self.session, config=self.config, ) gapi = GroupApi( current_user=None, session=self.session, config=self.config, ) groups = [gapi.get_one_with_name('users')] user = api.create_user( email='*****@*****.**', password='******', name='bob', groups=groups, timezone='Europe/Paris', do_save=True, do_notify=False, ) api.disable(user) with pytest.raises(UserAuthenticatedIsNotActive): api.authenticate_user('*****@*****.**', '*****@*****.**')
def login(self, context, request: TracimRequest, hapic_data=None): """ Logs the user into the system. In case of success, the JSON returned is the user profile. In that case, a cookie is created with a session_key and an expiration date. Eg. : `session_key=932d2ad68f3a094c2d4da563ccb921e6479729f5b5f707eba91d4194979df20831be48a0; expires=Mon, 22-Oct-2018 19:37:02 GMT; Path=/; SameSite=Lax` """ login = hapic_data.body app_config = request.registry.settings['CFG'] uapi = UserApi( None, session=request.dbsession, config=app_config, ) user = uapi.authenticate_user(login.email, login.password) remember(request, user.user_id) return uapi.get_user_with_context(user)