Skip to content

Commit

Permalink
Remove use of six.integer_types/string_types/text_type
Browse files Browse the repository at this point in the history
These are constants corresponding to just int/str/str in Python 3:
https://six.readthedocs.io/#constants

This is simple search-replace with the exception of
resources/test/conftest.py, where element.text is already a string. If
it were None or bytes, then JSON parsing would fail anyway.

In service-workers/cache-storage/resources/vary.py, the reason why
str(cookie_vary) works was non-obvious. Correct the documentation in
tools/wptserve/wptserve/request.py to show that the cookie_vary value
would be a CookieValue, not a binary string.

Since no use of six remains in tools/wptserve/, it's removed as a
dependency in wptserve's setup.py.

Part of #28776.
  • Loading branch information
foolip committed May 3, 2021
1 parent b9e74d0 commit e6f6a4c
Show file tree
Hide file tree
Showing 24 changed files with 60 additions and 93 deletions.
4 changes: 1 addition & 3 deletions cookies/resources/helpers.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from six import integer_types

from urllib.parse import parse_qs

from wptserve.utils import isomorphic_encode
Expand All @@ -25,7 +23,7 @@ def makeCookieHeader(name, value, otherAttrs):
def makeAV(a, v):
if None == v or b"" == v:
return a
if isinstance(v, integer_types):
if isinstance(v, int):
return b"%s=%i" % (a, v)
else:
return b"%s=%s" % (a, v)
Expand Down
3 changes: 1 addition & 2 deletions resources/test/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import html5lib
import py
import pytest
from six import text_type

from wptserver import WPTServer

Expand Down Expand Up @@ -122,7 +121,7 @@ def __init__(self, parent, filename, test_type):
if element.tag == 'script':
if element.attrib.get('id') == 'expected':
try:
self.expected = json.loads(text_type(element.text))
self.expected = json.loads(element.text)
except ValueError:
print("Failed parsing JSON in %s" % filename)
raise
Expand Down
6 changes: 2 additions & 4 deletions service-workers/cache-storage/resources/vary.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from six import text_type

def main(request, response):
if b"clear-vary-value-override-cookie" in request.GET:
response.unset_cookie(b"vary-value-override")
Expand All @@ -15,9 +13,9 @@ def main(request, response):
# for the VARY header no matter what the query string is set to. This
# override is necessary to test the case when two URLs are identical
# (including query), but differ by VARY header.
cookie_vary = request.cookies.get(b"vary-value-override");
cookie_vary = request.cookies.get(b"vary-value-override")
if cookie_vary:
response.headers.set(b"vary", text_type(cookie_vary))
response.headers.set(b"vary", str(cookie_vary))
else:
# If there is no cookie, then use the query string value, if present.
query_vary = request.GET.first(b"vary", default=b"")
Expand Down
2 changes: 1 addition & 1 deletion tools/wptserve/setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from setuptools import setup

PACKAGE_VERSION = '3.0'
deps = ["six>=1.13.0", "h2>=3.0.1"]
deps = ["h2>=3.0.1"]

setup(name='wptserve',
version=PACKAGE_VERSION,
Expand Down
2 changes: 1 addition & 1 deletion tools/wptserve/wptserve/request.py
Original file line number Diff line number Diff line change
Expand Up @@ -636,7 +636,7 @@ def load(self, rawdata):
class Cookies(MultiDict):
"""MultiDict specialised for Cookie values
Keys and values are binary strings.
Keys are binary strings and values are CookieValue objects.
"""
def __init__(self):
pass
Expand Down
33 changes: 16 additions & 17 deletions webdriver/tests/add_cookie/add.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import pytest

from datetime import datetime, timedelta
from six import text_type

from webdriver.transport import Response

Expand Down Expand Up @@ -72,11 +71,11 @@ def test_add_domain_cookie(session, url, server_config):

cookie = session.cookies("hello")
assert "domain" in cookie
assert isinstance(cookie["domain"], text_type)
assert isinstance(cookie["domain"], str)
assert "name" in cookie
assert isinstance(cookie["name"], text_type)
assert isinstance(cookie["name"], str)
assert "value" in cookie
assert isinstance(cookie["value"], text_type)
assert isinstance(cookie["value"], str)

assert cookie["name"] == "hello"
assert cookie["value"] == "world"
Expand All @@ -102,11 +101,11 @@ def test_add_cookie_for_ip(session, url, server_config, configuration):

cookie = session.cookies("hello")
assert "name" in cookie
assert isinstance(cookie["name"], text_type)
assert isinstance(cookie["name"], str)
assert "value" in cookie
assert isinstance(cookie["value"], text_type)
assert isinstance(cookie["value"], str)
assert "domain" in cookie
assert isinstance(cookie["domain"], text_type)
assert isinstance(cookie["domain"], str)

assert cookie["name"] == "hello"
assert cookie["value"] == "world"
Expand All @@ -131,9 +130,9 @@ def test_add_non_session_cookie(session, url):

cookie = session.cookies("hello")
assert "name" in cookie
assert isinstance(cookie["name"], text_type)
assert isinstance(cookie["name"], str)
assert "value" in cookie
assert isinstance(cookie["value"], text_type)
assert isinstance(cookie["value"], str)
assert "expiry" in cookie
assert isinstance(cookie["expiry"], int)

Expand All @@ -156,9 +155,9 @@ def test_add_session_cookie(session, url):

cookie = session.cookies("hello")
assert "name" in cookie
assert isinstance(cookie["name"], text_type)
assert isinstance(cookie["name"], str)
assert "value" in cookie
assert isinstance(cookie["value"], text_type)
assert isinstance(cookie["value"], str)
if "expiry" in cookie:
assert cookie.get("expiry") is None

Expand All @@ -181,11 +180,11 @@ def test_add_session_cookie_with_leading_dot_character_in_domain(session, url, s

cookie = session.cookies("hello")
assert "name" in cookie
assert isinstance(cookie["name"], text_type)
assert isinstance(cookie["name"], str)
assert "value" in cookie
assert isinstance(cookie["value"], text_type)
assert isinstance(cookie["value"], str)
assert "domain" in cookie
assert isinstance(cookie["domain"], text_type)
assert isinstance(cookie["domain"], str)

assert cookie["name"] == "hello"
assert cookie["value"] == "world"
Expand All @@ -209,11 +208,11 @@ def test_add_cookie_with_valid_samesite_flag(session, url, same_site):

cookie = session.cookies("hello")
assert "name" in cookie
assert isinstance(cookie["name"], text_type)
assert isinstance(cookie["name"], str)
assert "value" in cookie
assert isinstance(cookie["value"], text_type)
assert isinstance(cookie["value"], str)
assert "sameSite" in cookie
assert isinstance(cookie["sameSite"], text_type)
assert isinstance(cookie["sameSite"], str)

assert cookie["name"] == "hello"
assert cookie["value"] == "world"
Expand Down
4 changes: 1 addition & 3 deletions webdriver/tests/execute_async_script/collections.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import os

from six import text_type

from tests.support.asserts import assert_same_element, assert_success


Expand Down Expand Up @@ -53,7 +51,7 @@ def test_file_list(session, tmpdir, inline):
for expected, actual in zip(files, value):
assert isinstance(actual, dict)
assert "name" in actual
assert isinstance(actual["name"], text_type)
assert isinstance(actual["name"], str)
assert os.path.basename(str(expected)) == actual["name"]


Expand Down
4 changes: 1 addition & 3 deletions webdriver/tests/execute_script/collections.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
import os

from six import text_type

from tests.support.asserts import assert_same_element, assert_success


Expand Down Expand Up @@ -46,7 +44,7 @@ def test_file_list(session, tmpdir, inline):
for expected, actual in zip(files, value):
assert isinstance(actual, dict)
assert "name" in actual
assert isinstance(actual["name"], text_type)
assert isinstance(actual["name"], str)
assert os.path.basename(str(expected)) == actual["name"]


Expand Down
8 changes: 3 additions & 5 deletions webdriver/tests/get_alert_text/get.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from six import text_type

from webdriver.error import NoSuchAlertException

from tests.support.asserts import assert_error, assert_success
Expand Down Expand Up @@ -33,7 +31,7 @@ def test_get_alert_text(session, inline):
assert isinstance(response.body, dict)
assert "value" in response.body
alert_text = response.body["value"]
assert isinstance(alert_text, text_type)
assert isinstance(alert_text, str)
assert alert_text == "Hello"


Expand All @@ -44,7 +42,7 @@ def test_get_confirm_text(session, inline):
assert isinstance(response.body, dict)
assert "value" in response.body
confirm_text = response.body["value"]
assert isinstance(confirm_text, text_type)
assert isinstance(confirm_text, str)
assert confirm_text == "Hello"


Expand All @@ -55,7 +53,7 @@ def test_get_prompt_text(session, inline):
assert isinstance(response.body, dict)
assert "value" in response.body
prompt_text = response.body["value"]
assert isinstance(prompt_text, text_type)
assert isinstance(prompt_text, str)
assert prompt_text == "Enter Your Name: "


Expand Down
1 change: 0 additions & 1 deletion webdriver/tests/get_computed_label/get.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import pytest
from six import text_type

from webdriver.error import NoSuchAlertException

Expand Down
1 change: 0 additions & 1 deletion webdriver/tests/get_computed_role/get.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import pytest
from six import text_type

from webdriver.error import NoSuchAlertException

Expand Down
3 changes: 1 addition & 2 deletions webdriver/tests/get_current_url/get.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import pytest
from six import text_type

from tests.support import platform_name
from tests.support.asserts import assert_error, assert_success
Expand Down Expand Up @@ -39,7 +38,7 @@ def test_get_current_url_payload(session):

response = get_current_url(session)
value = assert_success(response)
assert isinstance(value, text_type)
assert isinstance(value, str)


def test_get_current_url_special_pages(session):
Expand Down
31 changes: 15 additions & 16 deletions webdriver/tests/get_named_cookie/get.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import pytest

from datetime import datetime, timedelta
from six import integer_types, text_type


from tests.support.asserts import assert_error, assert_success
Expand Down Expand Up @@ -37,21 +36,21 @@ def test_get_named_session_cookie(session, url):
# table for cookie conversion
# https://w3c.github.io/webdriver/#dfn-table-for-cookie-conversion
assert "name" in cookie
assert isinstance(cookie["name"], text_type)
assert isinstance(cookie["name"], str)
assert "value" in cookie
assert isinstance(cookie["value"], text_type)
assert isinstance(cookie["value"], str)
assert "path" in cookie
assert isinstance(cookie["path"], text_type)
assert isinstance(cookie["path"], str)
assert "domain" in cookie
assert isinstance(cookie["domain"], text_type)
assert isinstance(cookie["domain"], str)
assert "secure" in cookie
assert isinstance(cookie["secure"], bool)
assert "httpOnly" in cookie
assert isinstance(cookie["httpOnly"], bool)
if "expiry" in cookie:
assert cookie.get("expiry") is None
assert "sameSite" in cookie
assert isinstance(cookie["sameSite"], text_type)
assert isinstance(cookie["sameSite"], str)

assert cookie["name"] == "foo"
assert cookie["value"] == "bar"
Expand All @@ -71,13 +70,13 @@ def test_get_named_cookie(session, url):
assert isinstance(cookie, dict)

assert "name" in cookie
assert isinstance(cookie["name"], text_type)
assert isinstance(cookie["name"], str)
assert "value" in cookie
assert isinstance(cookie["value"], text_type)
assert isinstance(cookie["value"], str)
assert "expiry" in cookie
assert isinstance(cookie["expiry"], integer_types)
assert isinstance(cookie["expiry"], int)
assert "sameSite" in cookie
assert isinstance(cookie["sameSite"], text_type)
assert isinstance(cookie["sameSite"], str)

assert cookie["name"] == "foo"
assert cookie["value"] == "bar"
Expand Down Expand Up @@ -112,11 +111,11 @@ def test_duplicated_cookie(session, url, server_config, inline):
assert isinstance(cookie, dict)

assert "name" in cookie
assert isinstance(cookie["name"], text_type)
assert isinstance(cookie["name"], str)
assert "value" in cookie
assert isinstance(cookie["value"], text_type)
assert isinstance(cookie["value"], str)
assert "sameSite" in cookie
assert isinstance(cookie["sameSite"], text_type)
assert isinstance(cookie["sameSite"], str)

assert cookie["name"] == new_cookie["name"]
assert cookie["value"] == "newworld"
Expand All @@ -135,11 +134,11 @@ def test_get_cookie_with_same_site_flag(session, url, same_site):
assert isinstance(cookie, dict)

assert "name" in cookie
assert isinstance(cookie["name"], text_type)
assert isinstance(cookie["name"], str)
assert "value" in cookie
assert isinstance(cookie["value"], text_type)
assert isinstance(cookie["value"], str)
assert "sameSite" in cookie
assert isinstance(cookie["sameSite"], text_type)
assert isinstance(cookie["sameSite"], str)

assert cookie["name"] == "foo"
assert cookie["value"] == "bar"
Expand Down
4 changes: 1 addition & 3 deletions webdriver/tests/get_title/get.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
from six import text_type

from tests.support.asserts import assert_error, assert_success


Expand All @@ -13,7 +11,7 @@ def test_payload(session):

response = get_title(session)
value = assert_success(response)
assert isinstance(value, text_type)
assert isinstance(value, str)


def test_no_top_browsing_context(session, closed_window):
Expand Down
14 changes: 6 additions & 8 deletions webdriver/tests/new_session/response.py
Original file line number Diff line number Diff line change
@@ -1,29 +1,27 @@
import uuid
import pytest

from six import string_types

from tests.support.asserts import assert_success


def test_sessionid(new_session, add_browser_capabilities):
response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
value = assert_success(response)
assert isinstance(value["sessionId"], string_types)
assert isinstance(value["sessionId"], str)
uuid.UUID(hex=value["sessionId"])


@pytest.mark.parametrize("capability, type", [
("browserName", string_types),
("browserVersion", string_types),
("platformName", string_types),
("browserName", str),
("browserVersion", str),
("platformName", str),
("acceptInsecureCerts", bool),
("pageLoadStrategy", string_types),
("pageLoadStrategy", str),
("proxy", dict),
("setWindowRect", bool),
("timeouts", dict),
("strictFileInteractability", bool),
("unhandledPromptBehavior", string_types),
("unhandledPromptBehavior", str),
])
def test_capability_type(session, capability, type):
assert isinstance(session.capabilities, dict)
Expand Down
Loading

0 comments on commit e6f6a4c

Please sign in to comment.