Stop using _external=True in tests

It looks like, by default, Flask no longer makes full URLs, for example
`https://example.com/path`. Instead it does `/path`. This will still
work fine, and if anything is better because it reduces the number of
bytes of HTML we are sending.

It won’t mean that requests go over `http` instead of `https` without
the protocol because we set the appropriate HSTS header here:
0c57da7781/ansible/roles/paas-proxy/templates/admin.conf.j2 (L11)

This commit changes all our tests to reflect that URLs no longer have
the protocol and domain in them. `_external=True` is Flask’s way of
saying whether a URL should be generated with the domain and protocol
(`True`) or without it (`False`).

Again, I can’t find the changelog or diff where this was introuduced,
but if you’d like to go spelunking then here’s a starting point:
50374e3cfe/src/flask/helpers.py (L192)
This commit is contained in:
Chris Hill-Scott
2022-05-27 14:46:35 +01:00
parent 5b5d4af681
commit 8b7f2fbf04
38 changed files with 83 additions and 251 deletions

View File

@@ -117,7 +117,7 @@ def feedback(ticket_type):
if current_service:
service_string = 'Service: "{name}"\n{url}\n'.format(
name=current_service.name,
url=url_for('main.service_dashboard', service_id=current_service.id, _external=True)
url=url_for('main.service_dashboard', service_id=current_service.id)
)
else:
service_string = ''

View File

@@ -26,7 +26,7 @@ def accept_invite(token):
and click the link again to accept this invite.
""".format(
current_user.email_address,
url_for("main.sign_out", _external=True)))
url_for("main.sign_out")))
flash(message=message)
@@ -96,7 +96,7 @@ def accept_org_invite(token):
and click the link again to accept this invite.
""".format(
current_user.email_address,
url_for("main.sign_out", _external=True)))
url_for("main.sign_out")))
flash(message=message)