diff --git a/requirements/test.txt b/requirements/test.txt index 2522c2957..ba81c475b 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ -Flask==2.2.3 -werkzeug==2.2.3 +Flask==2.3.2 +werkzeug==2.3.7 coverage==7.3.0 argparse Django>=2.0.6 diff --git a/setup.py b/setup.py index 3a63cc6ad..5c33ee26f 100644 --- a/setup.py +++ b/setup.py @@ -56,7 +56,7 @@ def get_version_data() -> dict: extras_require={ "zope.testbrowser": ["zope.testbrowser>=6.0", "lxml>=4.2.4", "cssselect"], "django": ["Django>=2.0.6", "lxml>=4.2.4", "cssselect"], - "flask": ["Flask>=2.0.2", "lxml>=4.2.4", "cssselect"], + "flask": ["Flask>=2.3.2", "lxml>=4.2.4", "cssselect"], "selenium": ["selenium>=4.1.0,<4.5.0"], }, tests_require=["coverage", "flask"], diff --git a/splinter/driver/flaskclient.py b/splinter/driver/flaskclient.py index d567ab8b4..390a46a8e 100644 --- a/splinter/driver/flaskclient.py +++ b/splinter/driver/flaskclient.py @@ -16,41 +16,42 @@ class CookieManager(CookieManagerAPI): def add(self, cookie, **kwargs): for key, value in cookie.items(): - kwargs["server_name"] = "localhost" - kwargs["key"] = key - kwargs["value"] = value - self.driver.set_cookie(**kwargs) + self.driver.set_cookie( + key=key, + value=value, + domain="localhost", + **kwargs, + ) def delete(self, *cookies): if cookies: for cookie in cookies: try: - self.driver.delete_cookie("localhost", cookie) + self.driver.delete_cookie(cookie) except KeyError: pass def delete_all(self): - self.driver.cookie_jar.clear() + self.driver._cookies.clear() def all(self, verbose=False): # NOQA: A003 cookies = {} for cookie in self.driver.cookie_jar: - cookies[cookie.name] = cookie.value + cookies[cookie.key] = cookie.value return cookies def __getitem__(self, item): - cookies = {c.name: c for c in self.driver.cookie_jar} - return cookies[item].value + return self.driver.get_cookie(item).value def __contains__(self, key): for cookie in self.driver.cookie_jar: - if cookie.name == key: + if cookie.key == key: return True return False def __eq__(self, other_object): if isinstance(other_object, dict): - cookies_dict = {c.name: c.value for c in self.driver.cookie_jar} + cookies_dict = {c.key: c.value for c in self.driver.cookie_jar} return cookies_dict == other_object return False diff --git a/tests/test_flaskclient.py b/tests/test_flaskclient.py index 63f216d5b..b58dec675 100644 --- a/tests/test_flaskclient.py +++ b/tests/test_flaskclient.py @@ -171,8 +171,8 @@ def test_cookies_extra_parameters(self): """Cookie can be created with extra parameters.""" timestamp = int(time.time() + 120) self.browser.cookies.add({"sha": "zam"}, expires=timestamp) - cookie = {c.name: c for c in self.browser._browser.cookie_jar}["sha"] - assert timestamp == cookie.expires + cookie = {c.key: c for c in self.browser._browser.cookie_jar}["sha"] + assert timestamp == int(cookie.expires.timestamp()) class FlaskClientDriverTestWithCustomHeaders(unittest.TestCase):