Ejemplo n.º 1
0
 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')
Ejemplo n.º 2
0
 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 == '*****@*****.**'
Ejemplo n.º 3
0
 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('*****@*****.**', '*****@*****.**')
Ejemplo n.º 4
0
    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)