diff options
author | Brendan Abolivier <babolivier@matrix.org> | 2019-08-29 16:50:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-29 16:50:10 +0100 |
commit | 84e695f506faf54982b9e19dceb9c02acffad95f (patch) | |
tree | 82aeac0653c08b1bd7549b62391ff334458fcff6 | |
parent | Merge pull request #5815 from matrix-org/babolivier/dinsic-message-retention (diff) | |
parent | Bump requirement for six to 1.12 (diff) | |
download | synapse-github/dinsic.tar.xz |
Merge pull request #5932 from matrix-org/babolivier/account_validity_template_encode dinsic_2019-08-30 github/dinsic dinsic
Fix encoding for account validity HTML files on Python 2
-rw-r--r-- | synapse/python_dependencies.py | 2 | ||||
-rw-r--r-- | synapse/rest/client/v2_alpha/account_validity.py | 4 | ||||
-rw-r--r-- | tests/rest/client/v2_alpha/test_register.py | 5 |
3 files changed, 7 insertions, 4 deletions
diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py index 7dfa78dadb..9692f0bf75 100644 --- a/synapse/python_dependencies.py +++ b/synapse/python_dependencies.py @@ -67,7 +67,7 @@ REQUIREMENTS = [ "pymacaroons>=0.13.0", "msgpack>=0.5.0", "phonenumbers>=8.2.0", - "six>=1.10", + "six>=1.12", # prometheus_client 0.4.0 changed the format of counter metrics # (cf https://github.com/matrix-org/synapse/issues/4001) "prometheus_client>=0.0.18,<0.4.0", diff --git a/synapse/rest/client/v2_alpha/account_validity.py b/synapse/rest/client/v2_alpha/account_validity.py index 8091b78285..98f7c60016 100644 --- a/synapse/rest/client/v2_alpha/account_validity.py +++ b/synapse/rest/client/v2_alpha/account_validity.py @@ -15,6 +15,8 @@ import logging +from six import ensure_binary + from twisted.internet import defer from synapse.api.errors import AuthError, SynapseError @@ -63,7 +65,7 @@ class AccountValidityRenewServlet(RestServlet): request.setResponseCode(status_code) request.setHeader(b"Content-Type", b"text/html; charset=utf-8") request.setHeader(b"Content-Length", b"%d" % (len(response),)) - request.write(response.encode("utf8")) + request.write(ensure_binary(response)) finish_request(request) defer.returnValue(None) diff --git a/tests/rest/client/v2_alpha/test_register.py b/tests/rest/client/v2_alpha/test_register.py index af1e600591..b28de3663c 100644 --- a/tests/rest/client/v2_alpha/test_register.py +++ b/tests/rest/client/v2_alpha/test_register.py @@ -20,6 +20,7 @@ import json import os from mock import Mock +from six import ensure_binary import pkg_resources @@ -437,7 +438,7 @@ class AccountValidityRenewalByEmailTestCase(unittest.HomeserverTestCase): # Check that the HTML we're getting is the one we expect on a successful renewal. expected_html = self.hs.config.account_validity.account_renewed_html_content self.assertEqual( - channel.result["body"], expected_html.encode("utf8"), channel.result + channel.result["body"], ensure_binary(expected_html), channel.result ) # Move 3 days forward. If the renewal failed, every authed request with @@ -467,7 +468,7 @@ class AccountValidityRenewalByEmailTestCase(unittest.HomeserverTestCase): # invalid/unknown token. expected_html = self.hs.config.account_validity.invalid_token_html_content self.assertEqual( - channel.result["body"], expected_html.encode("utf8"), channel.result + channel.result["body"], ensure_binary(expected_html), channel.result ) def test_manual_email_send(self): |