Bug 1456996 - [wdspec] Get named cookie tests have to use a shared custom get_named_cookie command. draft
authorHenrik Skupin <mail@hskupin.info>
Wed, 25 Apr 2018 23:20:47 +0200
changeset 788290 77432b32c9413af703b7d2b7ae2cc1caf11e2ca4
parent 787860 7f6a582f00bfb5d0acb8d8bf7f8c79ca37c99b65
child 788291 41839b8d53603d034bf8f2dbb57c53381ca870f9
push id107943
push userbmo:hskupin@gmail.com
push dateThu, 26 Apr 2018 06:08:24 +0000
bugs1456996
milestone61.0a1
Bug 1456996 - [wdspec] Get named cookie tests have to use a shared custom get_named_cookie command. MozReview-Commit-ID: 7r3Krzrv8Wr
testing/web-platform/tests/webdriver/tests/cookies/get_named_cookie.py
--- 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,24 +1,33 @@
-from tests.support.inline import inline
+from datetime import datetime, timedelta
+
+from tests.support.asserts import assert_success
 from tests.support.fixtures import clear_all_cookies
-from datetime import datetime, timedelta
+from tests.support.inline import inline
+
+
+def get_named_cookie(session, name):
+    return session.transport.send(
+        "GET", "session/{session_id}/cookie/{name}".format(
+            session_id=session.session_id,
+            name=name))
+
 
 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
-    assert isinstance(result.body["value"], dict)
+    result = get_named_cookie(session, "foo")
+    cookie = assert_success(result)
+    assert isinstance(cookie, dict)
 
     # table for cookie conversion
     # https://w3c.github.io/webdriver/webdriver-spec.html#dfn-table-for-cookie-conversion
-    cookie = result.body["value"]
     assert "name" in cookie
     assert isinstance(cookie["name"], basestring)
     assert "value" in cookie
     assert isinstance(cookie["value"], basestring)
     assert "path" in cookie
     assert isinstance(cookie["path"], basestring)
     assert "domain" in cookie
     assert isinstance(cookie["domain"], basestring)
@@ -27,44 +36,43 @@ def test_get_named_session_cookie(sessio
     assert "httpOnly" in cookie
     assert isinstance(cookie["httpOnly"], bool)
     if "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)
+    result = get_named_cookie(session, "foo")
+    cookie = assert_success(result)
+    assert isinstance(cookie, 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
+    assert datetime.utcfromtimestamp(
+        cookie["expiry"]).strftime(utc_string_format) == a_year_from_now
+
 
 def test_duplicated_cookie(session, url, server_config):
     session.url = url("/common/blank.html")
     clear_all_cookies(session)
     create_cookie_request = {
         "cookie": {
             "name": "hello",
             "value": "world",
@@ -75,23 +83,20 @@ def test_duplicated_cookie(session, url,
         }
     }
     result = session.transport.send("POST", "session/%s/cookie" % session.session_id, create_cookie_request)
     assert result.status == 200
     assert "value" in result.body
     assert result.body["value"] is None
 
     session.url = inline("<script>document.cookie = 'hello=newworld; domain=%s; path=/';</script>" % server_config["domains"][""])
-    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]
+    result = get_named_cookie(session, "hello")
+    cookie = assert_success(result)
+    assert isinstance(cookie, dict)
+
     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"