示例#1
0
def test_create_user_for_subsequent_users(user_factory, config_injector):
    config_injector({'default_rank': 'regular'})
    db.session.add(user_factory())
    db.session.flush()
    with patch('szurubooru.func.users.update_user_name'), \
            patch('szurubooru.func.users.update_user_email'), \
            patch('szurubooru.func.users.update_user_password'):
        user = users.create_user('name', 'password', 'email')
        assert user.rank == db.User.RANK_REGULAR
示例#2
0
def test_create_user_for_subsequent_users(user_factory, config_injector):
    config_injector({"default_rank": "regular"})
    db.session.add(user_factory())
    db.session.flush()
    with patch("szurubooru.func.users.update_user_name"), patch(
            "szurubooru.func.users.update_user_email"), patch(
                "szurubooru.func.users.update_user_password"):
        user = users.create_user("name", "password", "email")
        assert user.rank == model.User.RANK_REGULAR
示例#3
0
def test_create_user_for_subsequent_users(user_factory, config_injector):
    config_injector({'default_rank': 'regular'})
    db.session.add(user_factory())
    db.session.flush()
    with patch('szurubooru.func.users.update_user_name'), \
            patch('szurubooru.func.users.update_user_email'), \
            patch('szurubooru.func.users.update_user_password'):
        user = users.create_user('name', 'password', 'email')
        assert user.rank == model.User.RANK_REGULAR
示例#4
0
def test_create_user_for_first_user(fake_datetime):
    with patch("szurubooru.func.users.update_user_name"), patch(
            "szurubooru.func.users.update_user_password"), patch(
                "szurubooru.func.users.update_user_email"), fake_datetime(
                    "1997-01-01"):
        user = users.create_user("name", "password", "email")
        assert user.creation_time == datetime(1997, 1, 1)
        assert user.last_login_time is None
        assert user.rank == model.User.RANK_ADMINISTRATOR
        users.update_user_name.assert_called_once_with(user, "name")
        users.update_user_password.assert_called_once_with(user, "password")
        users.update_user_email.assert_called_once_with(user, "email")
示例#5
0
def test_create_user_for_first_user(fake_datetime):
    with patch('szurubooru.func.users.update_user_name'), \
            patch('szurubooru.func.users.update_user_password'), \
            patch('szurubooru.func.users.update_user_email'), \
            fake_datetime('1997-01-01'):
        user = users.create_user('name', 'password', 'email')
        assert user.creation_time == datetime(1997, 1, 1)
        assert user.last_login_time is None
        assert user.rank == model.User.RANK_ADMINISTRATOR
        users.update_user_name.assert_called_once_with(user, 'name')
        users.update_user_password.assert_called_once_with(user, 'password')
        users.update_user_email.assert_called_once_with(user, 'email')
示例#6
0
def test_create_user_for_first_user(fake_datetime):
    with patch('szurubooru.func.users.update_user_name'), \
            patch('szurubooru.func.users.update_user_password'), \
            patch('szurubooru.func.users.update_user_email'), \
            fake_datetime('1997-01-01'):
        user = users.create_user('name', 'password', 'email')
        assert user.creation_time == datetime(1997, 1, 1)
        assert user.last_login_time is None
        assert user.rank == db.User.RANK_ADMINISTRATOR
        users.update_user_name.assert_called_once_with(user, 'name')
        users.update_user_password.assert_called_once_with(user, 'password')
        users.update_user_email.assert_called_once_with(user, 'email')
示例#7
0
def create_user(ctx: rest.Context,
                _params: Dict[str, str] = {}) -> rest.Response:
    auth.verify_privilege(ctx.user, 'users:create')
    name = ctx.get_param_as_string('name')
    password = ctx.get_param_as_string('password')
    email = ctx.get_param_as_string('email', default='')
    user = users.create_user(name, password, email)
    if ctx.has_param('rank'):
        users.update_user_rank(user, ctx.get_param_as_string('rank'), ctx.user)
    if ctx.has_param('avatarStyle'):
        users.update_user_avatar(user, ctx.get_param_as_string('avatarStyle'),
                                 ctx.get_file('avatar', default=b''))
    ctx.session.add(user)
    ctx.session.commit()
    return _serialize(ctx, user, force_show_email=True)
示例#8
0
def create_user(ctx, _params=None):
    auth.verify_privilege(ctx.user, 'users:create')
    name = ctx.get_param_as_string('name', required=True)
    password = ctx.get_param_as_string('password', required=True)
    email = ctx.get_param_as_string('email', required=False, default='')
    user = users.create_user(name, password, email)
    if ctx.has_param('rank'):
        users.update_user_rank(
            user, ctx.get_param_as_string('rank'), ctx.user)
    if ctx.has_param('avatarStyle'):
        users.update_user_avatar(
            user,
            ctx.get_param_as_string('avatarStyle'),
            ctx.get_file('avatar'))
    ctx.session.add(user)
    ctx.session.commit()
    return _serialize(ctx, user, force_show_email=True)
示例#9
0
 def post(self, ctx):
     auth.verify_privilege(ctx.user, 'users:create')
     name = ctx.get_param_as_string('name', required=True)
     password = ctx.get_param_as_string('password', required=True)
     email = ctx.get_param_as_string('email', required=False, default='')
     user = users.create_user(name, password, email)
     if ctx.has_param('rank'):
         users.update_user_rank(user, ctx.get_param_as_string('rank'),
                                ctx.user)
     if ctx.has_param('avatarStyle'):
         users.update_user_avatar(user,
                                  ctx.get_param_as_string('avatarStyle'),
                                  ctx.get_file('avatar'))
     ctx.session.add(user)
     ctx.session.commit()
     return users.serialize_user_with_details(user,
                                              ctx.user,
                                              force_show_email=True)
示例#10
0
    def post(self, ctx):
        auth.verify_privilege(ctx.user, 'users:create')

        name = ctx.get_param_as_string('name', required=True)
        password = ctx.get_param_as_string('password', required=True)
        email = ctx.get_param_as_string('email', required=False, default='')

        user = users.create_user(name, password, email, ctx.user)

        if ctx.has_param('rank'):
            users.update_rank(user, ctx.get_param_as_string('rank'), ctx.user)

        if ctx.has_param('avatarStyle'):
            users.update_avatar(
                user,
                ctx.get_param_as_string('avatarStyle'),
                ctx.get_file('avatar'))

        ctx.session.add(user)
        ctx.session.commit()
        return {'user': _serialize_user(ctx.user, user)}
示例#11
0
def create_user(
        ctx: rest.Context, _params: Dict[str, str] = {}) -> rest.Response:
    if ctx.user.user_id is None:
        auth.verify_privilege(ctx.user, 'users:create:self')
    else:
        auth.verify_privilege(ctx.user, 'users:create:any')

    name = ctx.get_param_as_string('name')
    password = ctx.get_param_as_string('password')
    email = ctx.get_param_as_string('email', default='')
    user = users.create_user(name, password, email)
    if ctx.has_param('rank'):
        users.update_user_rank(user, ctx.get_param_as_string('rank'), ctx.user)
    if ctx.has_param('avatarStyle'):
        users.update_user_avatar(
            user,
            ctx.get_param_as_string('avatarStyle'),
            ctx.get_file('avatar', default=b''))
    ctx.session.add(user)
    ctx.session.commit()

    return _serialize(ctx, user, force_show_email=True)
示例#12
0
def create_user(ctx: rest.Context,
                _params: Dict[str, str] = {}) -> rest.Response:
    if ctx.user.user_id is None:
        auth.verify_privilege(ctx.user, "users:create:self")
    else:
        auth.verify_privilege(ctx.user, "users:create:any")

    name = ctx.get_param_as_string("name")
    password = ctx.get_param_as_string("password")
    email = ctx.get_param_as_string("email", default="")
    user = users.create_user(name, password, email)
    if ctx.has_param("rank"):
        users.update_user_rank(user, ctx.get_param_as_string("rank"), ctx.user)
    if ctx.has_param("avatarStyle"):
        users.update_user_avatar(
            user,
            ctx.get_param_as_string("avatarStyle"),
            ctx.get_file("avatar", default=b""),
        )
    ctx.session.add(user)
    ctx.session.commit()

    return _serialize(ctx, user, force_show_email=True)