Ejemplo n.º 1
0
def test_make_test_environ_builder(app):
    with pytest.deprecated_call():
        eb = make_test_environ_builder(app, "https://example.com/")
    assert eb.url_scheme == "https"
    assert eb.host == "example.com"
    assert eb.script_root == ""
    assert eb.path == "/"
Ejemplo n.º 2
0
def test_path_is_url():
    app = flask.Flask(__name__)
    eb = make_test_environ_builder(app, 'https://example.com/')
    assert eb.url_scheme == 'https'
    assert eb.host == 'example.com'
    assert eb.script_root == ''
    assert eb.path == '/'
Ejemplo n.º 3
0
 def build_header(path, method, role='submitter'):
     auth = get_auth(role + 'accesskey', role, 'submission')
     environ = make_test_environ_builder(app, path=path, method=method)
     request = environ.get_request()
     request.headers = dict(request.headers)
     auth.__call__(request)
     return request.headers
Ejemplo n.º 4
0
def mock_request_context(request, application, mimetype):
    """Mocking flask.current_app."""
    from flask.testing import make_test_environ_builder

    builder = make_test_environ_builder(application)
    environ = builder.get_environ()

    flask_request = Request(environ)
    flask_request.accept_mimetypes = [mimetype]
    request_context = RequestContext(application, environ, request=flask_request)
    request_context.__enter__()

    request.addfinalizer(lambda: request_context.__exit__(None, None, None))
Ejemplo n.º 5
0
def test_client_open_environ(app, client, request):
    @app.route("/index")
    def index():
        return flask.request.remote_addr

    builder = make_test_environ_builder(app, path="/index", method="GET")
    request.addfinalizer(builder.close)

    rv = client.open(builder)
    assert rv.data == b"127.0.0.1"

    environ = builder.get_environ()
    client.environ_base["REMOTE_ADDR"] = "127.0.0.2"
    rv = client.open(environ)
    assert rv.data == b"127.0.0.2"
Ejemplo n.º 6
0
def test_client_open_environ(app, client, request):
    @app.route('/index')
    def index():
        return flask.request.remote_addr

    builder = make_test_environ_builder(app, path='/index', method='GET')
    request.addfinalizer(builder.close)

    rv = client.open(builder)
    assert rv.data == b'127.0.0.1'

    environ = builder.get_environ()
    client.environ_base['REMOTE_ADDR'] = '127.0.0.2'
    rv = client.open(environ)
    assert rv.data == b'127.0.0.2'
Ejemplo n.º 7
0
def mock_request_context(request, application, mimetype):
    """Mocking flask.current_app."""
    from flask.testing import make_test_environ_builder

    builder = make_test_environ_builder(application)
    environ = builder.get_environ()

    flask_request = Request(environ)
    flask_request.accept_mimetypes = [mimetype]
    request_context = RequestContext(application,
                                     environ,
                                     request=flask_request)
    request_context.__enter__()

    request.addfinalizer(lambda: request_context.__exit__(None, None, None))
Ejemplo n.º 8
0
def test_client_open_environ(app, client, request):
    @app.route('/index')
    def index():
        return flask.request.remote_addr

    builder = make_test_environ_builder(app, path='/index', method='GET')
    request.addfinalizer(builder.close)

    rv = client.open(builder)
    assert rv.data == b'127.0.0.1'

    environ = builder.get_environ()
    client.environ_base['REMOTE_ADDR'] = '127.0.0.2'
    rv = client.open(environ)
    assert rv.data == b'127.0.0.2'
Ejemplo n.º 9
0
def test_client_open_environ(app, client, request):
    @app.route("/index")
    def index():
        return flask.request.remote_addr

    builder = make_test_environ_builder(app, path="/index", method="GET")
    request.addfinalizer(builder.close)

    rv = client.open(builder)
    assert rv.data == b"127.0.0.1"

    environ = builder.get_environ()
    client.environ_base["REMOTE_ADDR"] = "127.0.0.2"
    rv = client.open(environ)
    assert rv.data == b"127.0.0.2"
Ejemplo n.º 10
0
def test_bad_environ_raises_bad_request():
    app = flask.Flask(__name__)

    # We cannot use app.test_client() for the Unicode-rich Host header,
    # because werkzeug enforces latin1 on Python 2.
    # However it works when actually passed to the server.

    from flask.testing import make_test_environ_builder
    builder = make_test_environ_builder(app)
    environ = builder.get_environ()

    # use a non-printable character in the Host - this is key to this test
    environ['HTTP_HOST'] = u'\x8a'

    with app.request_context(environ):
        response = app.full_dispatch_request()
    assert response.status_code == 400
Ejemplo n.º 11
0
def test_bad_environ_raises_bad_request():
    app = flask.Flask(__name__)

    # We cannot use app.test_client() for the Unicode-rich Host header,
    # because werkzeug enforces latin1 on Python 2.
    # However it works when actually passed to the server.

    from flask.testing import make_test_environ_builder
    builder = make_test_environ_builder(app)
    environ = builder.get_environ()

    # use a non-printable character in the Host - this is key to this test
    environ['HTTP_HOST'] = u'\x8a'

    with app.request_context(environ):
        response = app.full_dispatch_request()
    assert response.status_code == 400
Ejemplo n.º 12
0
def test_environ_for_valid_idna_completes():
    app = flask.Flask(__name__)

    @app.route('/')
    def index():
        return 'Hello World!'

    # We cannot use app.test_client() for the Unicode-rich Host header,
    # because werkzeug enforces latin1 on Python 2.
    # However it works when actually passed to the server.

    from flask.testing import make_test_environ_builder
    builder = make_test_environ_builder(app)
    environ = builder.get_environ()

    # these characters are all IDNA-compatible
    environ['HTTP_HOST'] = u'ąśźäüжŠßя.com'

    with app.request_context(environ):
        response = app.full_dispatch_request()

    assert response.status_code == 200
Ejemplo n.º 13
0
def test_environ_for_valid_idna_completes():
    app = flask.Flask(__name__)

    @app.route('/')
    def index():
        return 'Hello World!'

    # We cannot use app.test_client() for the Unicode-rich Host header,
    # because werkzeug enforces latin1 on Python 2.
    # However it works when actually passed to the server.

    from flask.testing import make_test_environ_builder
    builder = make_test_environ_builder(app)
    environ = builder.get_environ()

    # these characters are all IDNA-compatible
    environ['HTTP_HOST'] = u'ąśźäüжŠßя.com'

    with app.request_context(environ):
        response = app.full_dispatch_request()

    assert response.status_code == 200
Ejemplo n.º 14
0
def test_path_is_url(app):
    eb = make_test_environ_builder(app, "https://example.com/")
    assert eb.url_scheme == "https"
    assert eb.host == "example.com"
    assert eb.script_root == ""
    assert eb.path == "/"
Ejemplo n.º 15
0
def test_path_is_url(app):
    eb = make_test_environ_builder(app, "https://example.com/")
    assert eb.url_scheme == "https"
    assert eb.host == "example.com"
    assert eb.script_root == ""
    assert eb.path == "/"
Ejemplo n.º 16
0
from flask import Flask, json_available, request, testing

app = Flask(__name__)

# ruleid: flask-deprecated-apis
if json_available:
    pass

# ruleid: flask-deprecated-apis
blueprint = request.module

# ruleid: flask-deprecated-apis
builder = testing.make_test_environ_builder(app)

# ruleid: flask-deprecated-apis
app.open_session(...)

# ruleid: flask-deprecated-apis
app.save_session(...)

# ruleid: flask-deprecated-apis
app.make_null_session(...)

# ruleid: flask-deprecated-apis
app.init_jinja_globals(...)

# ruleid: flask-deprecated-apis
app.request_globals_class(...)

# ruleid: flask-deprecated-apis
app.static_path(...)
Ejemplo n.º 17
0
def test_path_is_url(app):
    eb = make_test_environ_builder(app, 'https://example.com/')
    assert eb.url_scheme == 'https'
    assert eb.host == 'example.com'
    assert eb.script_root == ''
    assert eb.path == '/'