def test_get_user(_admin): """res -> tuple(flask.wrappers.Response)""" response, status = get_user("Admin") assert status == 200 user_dict = response.json assert isinstance(user_dict, dict) assert user_dict.get("user") == "Admin", f"user_dict={user_dict}" assert user_dict.get("argon_password") is None, f"user_dict={user_dict}" individual_ids = user_dict.get("individuals") assert isinstance(individual_ids, list), f"user_dict={user_dict}" assert len(individual_ids) > 0, f"user_dict={user_dict}"
def login_page(): form = LoginForm() if request.method == "POST": if form.validate_on_submit(): username = form.data["username"] user = get_user(username) if user is not None: password = form.data["password"] if hasher.verify(password, user.password): login_user(user, remember=True) flash("You have logged in.") next_page = request.args.get("next", url_for("home_page")) return redirect(next_page) flash("Invalid credentials.") return render_template("login.html", form=form)
def test_enable_user(_admin): response, _ = get_user("demo") user = response.json assert user.get("enabled"), "Demo user is not enabled from the beginning" response, status = enable_user("demo", "False") assert response.json.get("success") assert status == 200 response, _ = get_user("demo") user = response.json assert not user.get("enabled"), "Demo user should be disabled" response, status = enable_user("demo", "True") assert response.json.get("success") assert status == 200 response, _ = get_user("demo") user = response.json assert user.get("enabled"), "Demo user should be enabled" response, status = enable_user("Admin", "False") assert status == 400 assert not response.json.get("success") assert response.json.get( "message") == "Cannot change the status of Admin user!" response, status = enable_user("abcdefxyz", "True") assert status == 404 assert response.json.get("message") == "User not found"
def register_page(): form = RegisterForm() if request.method == "POST": if form.validate_on_submit(): username = form.data["username"] user = get_user(username) if user is None: parser = reqparse.RequestParser() parser.add_argument('username', type=str) parser.add_argument('password', type=str) parser.add_argument('is_admin', type=bool) parser.add_argument('active', type=bool) args = parser.parse_args() u = Users.create(**args) print(u) print(type(u)) flash("You have signed up!") next_page = request.args.get("next", url_for("home_page")) return redirect(next_page) flash("Already exist username.") return render_template("register.html", form=form)
def test_get_non_existing_user(_admin): """res -> tuple(flask.wrappers.Response)""" _, status = get_user("JuanSinMiedo") assert status == 404
def test_get_user_without_permissions(_demo): """res -> tuple(flask.wrappers.Response)""" res = get_user("whatever_user") _check_only_available_to_admin(res)
def test_bad_attempt_to_disable_user(_admin): response, _ = get_user("demo") user = response.json assert user.get("enabled"), "Demo user is not enabled from the beginning" _, status = enable_user("demo", "Falsch") assert status == 400