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 == "/"
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 == '/'
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
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))
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"
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'
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
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
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 == "/"
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(...)
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 == '/'