Bug 1407695 - Cover non session cookies in web platform tests; r?ato
MozReview-Commit-ID: 8cR5kiRxBV6
--- a/testing/web-platform/tests/webdriver/tests/cookies/get_named_cookie.py
+++ b/testing/web-platform/tests/webdriver/tests/cookies/get_named_cookie.py
@@ -1,10 +1,11 @@
from tests.support.inline import inline
from tests.support.fixtures import clear_all_cookies
+from datetime import datetime, timedelta
def test_get_named_session_cookie(session, url):
session.url = url("/common/blank.html")
clear_all_cookies(session)
session.execute_script("document.cookie = 'foo=bar'")
result = session.transport.send("GET", "session/%s/cookie/foo" % session.session_id)
assert result.status == 200
@@ -26,16 +27,45 @@ def test_get_named_session_cookie(sessio
assert "httpOnly" in cookie
assert isinstance(cookie["httpOnly"], bool)
assert "expiry" in cookie
assert cookie.get("expiry") is None
assert cookie["name"] == "foo"
assert cookie["value"] == "bar"
+def test_get_named_cookie(session, url):
+ session.url = url("/common/blank.html")
+ clear_all_cookies(session)
+
+ # same formatting as Date.toUTCString() in javascript
+ utc_string_format = "%a, %d %b %Y %H:%M:%S"
+ a_year_from_now = (datetime.utcnow() + timedelta(days=365)).strftime(utc_string_format)
+ session.execute_script("document.cookie = 'foo=bar;expires=%s'" % a_year_from_now)
+
+ result = session.transport.send("GET", "session/%s/cookie" % session.session_id)
+ assert result.status == 200
+ assert "value" in result.body
+ assert isinstance(result.body["value"], list)
+ assert len(result.body["value"]) == 1
+ assert isinstance(result.body["value"][0], dict)
+
+ cookie = result.body["value"][0]
+ assert "name" in cookie
+ assert isinstance(cookie["name"], basestring)
+ assert "value" in cookie
+ assert isinstance(cookie["value"], basestring)
+ assert "expiry" in cookie
+ assert isinstance(cookie["expiry"], (int, long))
+
+ assert cookie["name"] == "foo"
+ assert cookie["value"] == "bar"
+ # convert from seconds since epoch
+ assert datetime.utcfromtimestamp(cookie["expiry"]).strftime(utc_string_format) == a_year_from_now
+
def test_duplicated_cookie(session, url):
session.url = url("/common/blank.html")
clear_all_cookies(session)
create_cookie_request = {
"cookie": {
"name": "hello",
"value": "world",
"domain": "web-platform.test",
@@ -60,9 +90,8 @@ def test_duplicated_cookie(session, url)
cookie = result.body["value"][0]
assert "name" in cookie
assert isinstance(cookie["name"], basestring)
assert "value" in cookie
assert isinstance(cookie["value"], basestring)
assert cookie["name"] == "hello"
assert cookie["value"] == "newworld"
-