def test_default_unauthorized_callback(app):
    jwt_manager = JWTManager(app)

    with app.test_request_context():
        err = "Test error"
        result = jwt_manager._unauthorized_callback(err)
        status_code, data = _parse_callback(result)

        assert status_code == 401
        assert data == {'msg': err}
def test_custom_unauthorized_callback(app):
    jwt_manager = JWTManager(app)

    @jwt_manager.unauthorized_loader
    def custom(err):
        return jsonify({"foo": "bar"}), 200

    with app.test_request_context():
        err = "Test error"
        result = jwt_manager._unauthorized_callback(err)
        status_code, data = _parse_callback(result)

        assert status_code == 200
        assert data == {'foo': 'bar'}