Ejemplo n.º 1
0
    def test_activate_user_by_id(self):
        """Test method activate_user_by_id & deactivate_user_by_id in User"""
        #Test something that really shouldn't be there
        with pytest.raises(DbException) as err:
            User.deactivate_user_by_id(0)
        assert str(err.value) == "(404, 'User not found.')"

        with pytest.raises(DbException) as err:
            User.activate_user_by_id(0)
        assert str(err.value) == "(404, 'User not found.')"

        assert User.deactivate_user_by_id(self.userList[0].id)
        user = User.get_user_by_id(self.userList[0].id)
        assert user.id == self.userList[0].id
        assert user.name == self.userList[0].name
        assert user.email == self.userList[0].email
        assert user.active == False

        assert User.activate_user_by_id(self.userList[0].id)
        user = User.get_user_by_id(self.userList[0].id)
        assert user.id == self.userList[0].id
        assert user.name == self.userList[0].name
        assert user.email == self.userList[0].email
        assert user.active == True

        assert not User.activate_user_by_id(0, False)
        assert not User.deactivate_user_by_id(0, False)
Ejemplo n.º 2
0
    def test_get_user_by_id(self):
        """Test method get_user_by_id in User"""
        #Test something that really shouldn't be there
        with pytest.raises(DbException) as err:
            User.get_user_by_id(0)
        assert str(err.value) == "(404, 'User not found.')"

        user = User.get_user_by_id(self.userList[0].id)
        assert user.id == self.userList[0].id

        user = User.get_user_by_id(0, False)
        assert user is None
Ejemplo n.º 3
0
def get_user_by_id_action():
    """
    Get user data by it's id
    """
    token = request.args.get('token')
    user_id = request.args.get('user_id')
    validate_token(token)
    data = User.get_user_by_id(user_id)
    return response_ok_obj(data)
Ejemplo n.º 4
0
 def test_confirm_password(self):
     """Test method confirm_password in User"""
     user = User.get_user_by_id(self.userList[0].id)
     assert user.confirm_password('SuperSecret')
     assert not user.confirm_password('SuperSecret2')
     assert not user.confirm_password('SuperSecre2')
     assert not user.confirm_password('supersecret')
     assert not user.confirm_password('')
     assert not user.confirm_password('\\*\\"\"')
Ejemplo n.º 5
0
def delete_user():
    """
    Deletes user by it's id (only deactivation)
    """
    data = request.get_json()
    validate_data(data, {'token', 'user_id'})
    token = data['token']
    user_id = data['user_id']
    validate_token(token)
    user = User.get_user_by_id(user_id)
    User.deactivate_user_by_id(user.id)
    data = {"data": "done"}
    return response_ok(data)
Ejemplo n.º 6
0
    def test_update_user_by_id_from_array(self, session):
        """Test method update_user_by_id_from_array in User"""
        array = {
            'name': 'kektimusMaximusPrime',
            'email': '*****@*****.**',
            'password': '******',
            'user_type_id': 2
        }

        #Test something that really shouldn't be there
        with pytest.raises(DbException) as err:
            User.update_user_by_id_from_array(0, array)
        assert str(err.value) == "(404, 'User not found.')"

        user = User("DUMMY", "*****@*****.**", "hackPr00f", None, None,
                    True)
        user.user_type_id = UserType.get_type_by_name('GUEST').id
        user.activated = True
        session.add(user)
        session.commit()
        self.userList.append(user)

        assert len(self.userList) == 2

        User.update_user_by_id_from_array(self.userList[1].id, array)
        user = User.get_user_by_id(self.userList[1].id)
        assert user.id == self.userList[1].id
        assert user.name == 'kektimusMaximusPrime'
        assert user.email == '*****@*****.**'
        assert user.confirm_password('passwd')
        assert user.user_type_id == 2

        array = {}
        User.update_user_by_id_from_array(self.userList[1].id, array)
        user = User.get_user_by_id(self.userList[1].id)
        assert user.id == self.userList[1].id
        assert user.name == 'kektimusMaximusPrime'
        assert user.email == '*****@*****.**'
        assert user.confirm_password('passwd')
        assert user.user_type_id == 2

        array = {'kek': 123, 'token': '01235'}
        User.update_user_by_id_from_array(self.userList[1].id, array)
        user = User.get_user_by_id(self.userList[1].id)
        assert user.id == self.userList[1].id
        assert user.name == 'kektimusMaximusPrime'
        assert user.email == '*****@*****.**'
        assert user.confirm_password('passwd')
        assert user.user_type_id == 2

        array = {'name': 'kektimusMaximusPrime'}
        with pytest.raises(DbException) as err:
            User.update_user_by_id_from_array(self.userList[0].id, array)
        assert str(err.value) == "(400, 'username')"

        array = {'email': '*****@*****.**'}
        with pytest.raises(DbException) as err:
            User.update_user_by_id_from_array(self.userList[0].id, array)
        assert str(err.value) == "(400, 'email')"

        array = {'user_type_id': 200}
        with pytest.raises(DbException) as err:
            User.update_user_by_id_from_array(self.userList[0].id, array)
        assert str(err.value) == "(400, 'usertype')"

        array = {'name': 'kektimusMaximusPrime', 'password': '******'}
        with pytest.raises(DbException) as err:
            User.update_user_by_id_from_array(self.userList[0].id, array)
        assert str(err.value) == "(400, 'username')"
        user = User.get_user_by_id(self.userList[0].id)
        assert not user.confirm_password('passwd')

        array = {'email': '*****@*****.**', 'password': '******'}
        with pytest.raises(DbException) as err:
            User.update_user_by_id_from_array(self.userList[0].id, array)
        assert str(err.value) == "(400, 'email')"
        user = User.get_user_by_id(self.userList[0].id)
        assert not user.confirm_password('passwd')

        array = {'user_type_id': 200, 'password': '******'}
        with pytest.raises(DbException) as err:
            User.update_user_by_id_from_array(self.userList[0].id, array)
        assert str(err.value) == "(400, 'usertype')"
        user = User.get_user_by_id(self.userList[0].id)
        assert not user.confirm_password('passwd')