forked from orbit-oss/flask
Merge pull request #2430 from erebus1/env_url_scheme_fix
make_test_environ_builder: use url_scheme from path if provided
This commit is contained in:
commit
85fa8aabf5
3 changed files with 15 additions and 2 deletions
3
CHANGES
3
CHANGES
|
|
@ -104,6 +104,8 @@ Major release, unreleased
|
||||||
- The ``flask`` command and ``app.run`` will load environment variables using
|
- The ``flask`` command and ``app.run`` will load environment variables using
|
||||||
from ``.env`` and ``.flaskenv`` files if python-dotenv is installed.
|
from ``.env`` and ``.flaskenv`` files if python-dotenv is installed.
|
||||||
(`#2416`_)
|
(`#2416`_)
|
||||||
|
- When passing a full URL to the test client, use the scheme in the URL instead
|
||||||
|
of the ``PREFERRED_URL_SCHEME``. (`#2436`_)
|
||||||
|
|
||||||
.. _#1421: https://github.com/pallets/flask/issues/1421
|
.. _#1421: https://github.com/pallets/flask/issues/1421
|
||||||
.. _#1489: https://github.com/pallets/flask/pull/1489
|
.. _#1489: https://github.com/pallets/flask/pull/1489
|
||||||
|
|
@ -134,6 +136,7 @@ Major release, unreleased
|
||||||
.. _#2412: https://github.com/pallets/flask/pull/2412
|
.. _#2412: https://github.com/pallets/flask/pull/2412
|
||||||
.. _#2414: https://github.com/pallets/flask/pull/2414
|
.. _#2414: https://github.com/pallets/flask/pull/2414
|
||||||
.. _#2416: https://github.com/pallets/flask/pull/2416
|
.. _#2416: https://github.com/pallets/flask/pull/2416
|
||||||
|
.. _#2436: https://github.com/pallets/flask/pull/2436
|
||||||
|
|
||||||
Version 0.12.2
|
Version 0.12.2
|
||||||
--------------
|
--------------
|
||||||
|
|
|
||||||
|
|
@ -44,8 +44,10 @@ def make_test_environ_builder(
|
||||||
url_scheme = app.config['PREFERRED_URL_SCHEME']
|
url_scheme = app.config['PREFERRED_URL_SCHEME']
|
||||||
|
|
||||||
url = url_parse(path)
|
url = url_parse(path)
|
||||||
base_url = '{0}://{1}/{2}'.format(
|
base_url = '{scheme}://{netloc}/{path}'.format(
|
||||||
url_scheme, url.netloc or http_host, app_root.lstrip('/')
|
scheme=url.scheme or url_scheme,
|
||||||
|
netloc=url.netloc or http_host,
|
||||||
|
path=app_root.lstrip('/')
|
||||||
)
|
)
|
||||||
path = url.path
|
path = url.path
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -104,6 +104,14 @@ def test_specify_url_scheme(app, client):
|
||||||
assert rv.data == b'https://localhost/'
|
assert rv.data == b'https://localhost/'
|
||||||
|
|
||||||
|
|
||||||
|
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 == '/'
|
||||||
|
|
||||||
|
|
||||||
def test_blueprint_with_subdomain(app, client):
|
def test_blueprint_with_subdomain(app, client):
|
||||||
app.config['SERVER_NAME'] = 'example.com:1234'
|
app.config['SERVER_NAME'] = 'example.com:1234'
|
||||||
app.config['APPLICATION_ROOT'] = '/foo'
|
app.config['APPLICATION_ROOT'] = '/foo'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue