def test_new_user():
    username = "******"
    password = "******"
    role = "admin"
    user = User.new_user(username, password, role)
    assert user.username == "test-new"
    assert user.check_password(password)
    assert user.json()["username"] == username
    assert user.role == role
    def post(self):
        args = self.parser.parse_args()

        username = args["username"]
        password = args["password"]
        role = args["role"]

        if role == None:
            role = "reader"

        if username == None or password == None:
            return error("Request must contain username and password.", 400)

        if not User.username_available(username):
            return error(f"Username '{username}' has been taken.", 400)

        try:
            user = User.new_user(username, password, role)
            db.session.add(user)
            db.session.commit()
            return user.json(), 201

        except Exception as e:
            return error(str(e), 400)
Esempio n. 3
0
from backend.models.user import User

users = [
    ("admin", "pass", "admin"),
    ("lib", "pass", "librarian"),
    ("reader", "pass", "reader"),
]

UsersGenerator = (User.new_user(name, pwd, role) for name, pwd, role in users)
def test_salt():
    a = User.new_user("a", "pass", "reader")
    b = User.new_user("b", "pass", "reader")
    assert a.hash != b.hash