示例#1
0
def update_user_request_not_found(query_mock, user_admin_valid,
                                  role_admin_valid, user_valid):
    from lorem_ipsum_auth.models import User, Role, Permission

    role = Role(id=role_admin_valid['id'],
                name=role_admin_valid['name'],
                default=role_admin_valid['default'],
                permissions=[
                    Permission.from_str(perm)
                    for perm in role_admin_valid['permissions']
                ])
    Role.query.filter_by.return_value.first.return_value = role
    admin_user = User.from_dict(user_admin_valid)
    admin_user.role = role

    User.query.filter_by.return_value.filter_by.return_value.first.return_value = admin_user

    def _filter_by(*args, **kwargs):
        if kwargs.get('username') == user_admin_valid['username']:
            _mock = mock.MagicMock()
            _mock.first.return_value = admin_user
            return _mock
        else:
            _mock = mock.MagicMock()
            _mock.first.return_value = None
            return _mock

    User.query.filter_by.side_effect = _filter_by
    yield user_admin_valid
示例#2
0
def role_add_existing_request(query_mock, user_admin_valid, role_editor_valid):
    from lorem_ipsum_auth.models import User, Role, Permission

    Role.query.filter_by.return_value.first.return_value = Role(
        id=role_editor_valid['id'],
        name=role_editor_valid['name'],
        permissions=[
            Permission.from_str(perm)
            for perm in role_editor_valid['permissions']
        ])
    User.query.filter_by.return_value.filter_by.return_value.first.return_value = User.from_dict(
        user_admin_valid)
    User.query.filter_by.return_value.first.return_value = User.from_dict(
        user_admin_valid)
    Permission.query.filter_by.return_value.first.return_value = Permission.from_str(
        'books:add')
    yield user_admin_valid
示例#3
0
def role_add_valid_request(query_mock, user_admin_valid, role_editor_valid):
    from lorem_ipsum_auth.models import User, Role
    orig_query = Role.query.filter_by.return_value

    def _filter_by(*args, **kwargs):
        if kwargs.get('name') == role_editor_valid['name']:
            _mock = mock.MagicMock()
            _mock.first.return_value = None
            return _mock
        return orig_query

    Role.query.filter_by.side_effect = _filter_by

    User.query.filter_by.return_value.filter_by.return_value.first.return_value = User.from_dict(
        user_admin_valid)
    User.query.filter_by.return_value.first.return_value = User.from_dict(
        user_admin_valid)
    yield user_admin_valid
示例#4
0
def issue_token(user: dict, role: dict) -> str:
    from lorem_ipsum_auth.models import User, Permission, Role
    from lorem_ipsum_auth.auth import issue_token_for_user
    role = Role(id=user['id'],
                name=role['name'],
                permissions=[
                    Permission.from_str(perm) for perm in role['permissions']
                ])
    Role.query.filter_by.return_value.first.return_value = role
    _user = User.from_dict(user)
    _user.role = role
    User.query.filter_by.return_value.filter_by.return_value.first.return_value = _user
    User.query.filter_by.return_value.first.return_value = _user
    return issue_token_for_user(_user)
示例#5
0
def login_valid_request(query_mock, user_admin_valid, role_admin_valid):
    from lorem_ipsum_auth.models import User, Role, Permission

    role = Role(id=role_admin_valid['id'],
                name=role_admin_valid['name'],
                default=role_admin_valid['default'],
                permissions=[
                    Permission.from_str(perm)
                    for perm in role_admin_valid['permissions']
                ])
    Role.query.filter_by.return_value.first.return_value = role
    admin_user = User.from_dict(user_admin_valid)
    admin_user.role = role
    User.query.filter_by.return_value.filter_by.return_value.first.return_value = admin_user
    User.query.filter_by.return_value.first.return_value = admin_user
    yield admin_user