python3: use bytes input for unicode strings with encoding declaration (#40012)

This commit is contained in:
Nicolas Roche 2020-02-20 15:17:12 +01:00
parent c80d6bf764
commit 980da6dfd0
2 changed files with 32 additions and 31 deletions

View File

@ -6,6 +6,7 @@ import pytest
from requests import Response
from django.test import override_settings
from django.utils.encoding import force_text
from hobo.environment.models import Variable, Combo, Hobo, Fargo, Wcs
from hobo.matomo.utils import \
@ -20,32 +21,32 @@ CONFIG = {'URL': 'https://matomo.test',
'TOKEN_AUTH': '1234',
'EMAIL_TEMPLATE': 'noreply+%s@entrouvert.test'}
MATOMO_SUCCESS = """<?xml version="1.0" encoding="utf-8" ?>
MATOMO_SUCCESS = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<success message="ok" />
</result>
"""
MATOMO_ERROR = """<?xml version="1.0" encoding="utf-8" ?>
MATOMO_ERROR = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<error message="here is the error message" />
</result>
"""
MATOMO_BAD_RESPONSE_1 = """<?xml version="1.0" encoding="utf-8" ?>
MATOMO_BAD_RESPONSE_1 = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<success message="KO" />
</result>
"""
MATOMO_BAD_RESPONSE_2 = """<?xml version="1.0" encoding="utf-8" ?>
MATOMO_BAD_RESPONSE_2 = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<success>no message attribute</success>
<not_success>no success tag</not_success>
</result>
"""
GET_SITE_42_FROM_URL = """<?xml version="1.0" encoding="utf-8" ?>
GET_SITE_42_FROM_URL = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
<idsite>42</idsite>
@ -54,17 +55,17 @@ GET_SITE_42_FROM_URL = """<?xml version="1.0" encoding="utf-8" ?>
</result>
"""
GET_NO_SITE_FROM_URL = """<?xml version="1.0" encoding="utf-8" ?>
GET_NO_SITE_FROM_URL = b"""<?xml version="1.0" encoding="utf-8" ?>
<result />
"""
GET_SITE_BAD_QUERY = """<?xml version="1.0" encoding="utf-8" ?>
GET_SITE_BAD_QUERY = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<error message="Please specify a value for 'url'." />
</result>
"""
GET_SITE_BAD_RESPONSE = """<?xml version="1.0" encoding="utf-8" ?>
GET_SITE_BAD_RESPONSE = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<row>
<not_idsite>there is no idsite tag</not_idsite>
@ -73,52 +74,52 @@ GET_SITE_BAD_RESPONSE = """<?xml version="1.0" encoding="utf-8" ?>
</result>
"""
ADD_SITE_SUCCESS = """<?xml version="1.0" encoding="utf-8" ?>
ADD_SITE_SUCCESS = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>42</result>
"""
ADD_SITE_ERROR = """<?xml version="1.0" encoding="utf-8" ?>
ADD_SITE_ERROR = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<error message="Please specify a value for 'siteName'." />
</result>
"""
ADD_SITE_BAD_RESPONSE = """<?xml version="1.0" encoding="utf-8" ?>
ADD_SITE_BAD_RESPONSE = b"""<?xml version="1.0" encoding="utf-8" ?>
<not_result>no result tag</not_result>
"""
ADD_SITE_ALIAS_URLS_SUCCESS = """<?xml version="1.0" encoding="utf-8" ?>
ADD_SITE_ALIAS_URLS_SUCCESS = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>1</result>
"""
ADD_SITE_ALIAS_URLS_ERROR = """<?xml version="1.0" encoding="utf-8" ?>
ADD_SITE_ALIAS_URLS_ERROR = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<error message="Please specify a value for 'idSite'." />
</result>
"""
USER_ALREADY_THERE = """<?xml version="1.0" encoding="utf-8" ?>
USER_ALREADY_THERE = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<error message="Username 'hobo.dev.publik.love' already exists." />
</result>"""
MAIL_ALREADY_THERE = """<?xml version="1.0" encoding="utf-8" ?>
MAIL_ALREADY_THERE = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<error message="User with email 'hobo.dev.publik.love@testor.org' already exists." />
</result>"""
BAD_CREDENTIAL = """<?xml version="1.0" encoding="utf-8" ?>
BAD_CREDENTIAL = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<error message="You can\'t access this resource as it requires a \'superuser\' access." />
</result>"""
DEL_UNKNOWN_USER = """<?xml version="1.0" encoding="utf-8" ?>
DEL_UNKNOWN_USER = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<error message="User 'hobo.dev.publik.love' doesn't exist." />
</result>
"""
JAVASCRIPT_TAG = """<?xml version="1.0" encoding="utf-8" ?>
JAVASCRIPT_TAG = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>&lt;!-- Matomo --&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
var _paq = window._paq || [];
@ -168,7 +169,7 @@ ENHANCED_JAVASCRIPT_TAG = """// Matomo
// End Matomo Code
"""
JAVASCRIPT_TAG_BAD_RESPONSE = """<?xml version="1.0" encoding="utf-8" ?>
JAVASCRIPT_TAG_BAD_RESPONSE = b"""<?xml version="1.0" encoding="utf-8" ?>
<no_result_tag/>
"""
@ -335,7 +336,7 @@ def test_parse_response():
matomo = MatomoWS()
# no error (expected format)
content = """<?xml version="1.0" encoding="utf-8" ?><ok/>"""
content = b"""<?xml version="1.0" encoding="utf-8" ?><ok/>"""
tree = matomo.parse_response(content)
assert tree.tag == 'ok'
@ -351,13 +352,13 @@ def test_parse_error_message():
matomo = MatomoWS()
# no error (expected format)
content = """<?xml version="1.0" encoding="utf-8" ?><ok/>"""
content = b"""<?xml version="1.0" encoding="utf-8" ?><ok/>"""
tree = matomo.parse_response(content)
matomo.raise_on_error(tree)
assert tree.tag == 'ok'
# error (expected format)
content = """<?xml version="1.0" encoding="utf-8" ?>
content = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<error message="here is the error message" />
</result>
@ -367,7 +368,7 @@ def test_parse_error_message():
matomo.raise_on_error(tree)
# error (unexpected format)
content = """<?xml version="1.0" encoding="utf-8" ?>
content = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<error>no 'message' attribute here</error>
</result>
@ -710,7 +711,7 @@ def test_upgrade_user(mocked_post):
def test_compute_cnil_acknowledgment_level():
"""function use to inspect javascript content"""
warning_content = JAVASCRIPT_TAG
warning_content = force_text(JAVASCRIPT_TAG)
# can't find cookie's life time extension prevention
assert compute_cnil_acknowledgment_level(warning_content) == 'warning'

View File

@ -21,35 +21,35 @@ CONFIG = {'URL': 'https://matomo.test',
'TOKEN_AUTH': '1234',
'EMAIL_TEMPLATE': 'noreply+%s@entrouvert.test'}
GET_NO_SITE_FROM_URL = """<?xml version="1.0" encoding="utf-8" ?>
GET_NO_SITE_FROM_URL = b"""<?xml version="1.0" encoding="utf-8" ?>
<result />
"""
ADD_SITE_SUCCESS = """<?xml version="1.0" encoding="utf-8" ?>
ADD_SITE_SUCCESS = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>42</result>
"""
ADD_SITE_ALIAS_URLS_SUCCESS = """<?xml version="1.0" encoding="utf-8" ?>
ADD_SITE_ALIAS_URLS_SUCCESS = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>1</result>
"""
DEL_UNKNOWN_USER = """<?xml version="1.0" encoding="utf-8" ?>
DEL_UNKNOWN_USER = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<error message="User 'hobo.dev.publik.love' doesn't exist." />
</result>
"""
MATOMO_SUCCESS = """<?xml version="1.0" encoding="utf-8" ?>
MATOMO_SUCCESS = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>
<success message="ok" />
</result>
"""
JAVASCRIPT_TAG_BAD_RESPONSE = """<?xml version="1.0" encoding="utf-8" ?>
JAVASCRIPT_TAG_BAD_RESPONSE = b"""<?xml version="1.0" encoding="utf-8" ?>
<no_result_tag/>
"""
JAVASCRIPT_TAG = """<?xml version="1.0" encoding="utf-8" ?>
JAVASCRIPT_TAG = b"""<?xml version="1.0" encoding="utf-8" ?>
<result>&lt;!-- Matomo --&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
var _paq = window._paq || [];