Bug 1456799 - [wdspec] Add cookie tests have to use a shared custom add_cookie command. draft
authorHenrik Skupin <mail@hskupin.info>
Wed, 25 Apr 2018 16:33:59 +0200
changeset 787905 35d3b4646f5ce939480349740424d43723a0894d
parent 787904 dd243a1a1f49b4b86b71c84c01b134e39bc673b5
child 787906 81af0415a54bb998ef4d8326cb2c3a1a4982a707
push id107833
push userbmo:hskupin@gmail.com
push dateWed, 25 Apr 2018 16:12:41 +0000
bugs1456799
milestone61.0a1
Bug 1456799 - [wdspec] Add cookie tests have to use a shared custom add_cookie command. MozReview-Commit-ID: 8t8iMByRjcQ
testing/web-platform/tests/webdriver/tests/cookies/add_cookie.py
--- a/testing/web-platform/tests/webdriver/tests/cookies/add_cookie.py
+++ b/testing/web-platform/tests/webdriver/tests/cookies/add_cookie.py
@@ -1,28 +1,33 @@
 from tests.support.asserts import assert_success
 from tests.support.fixtures import clear_all_cookies
 from datetime import datetime, timedelta
 
 
+def add_cookie(session, cookie):
+    return session.transport.send(
+        "POST", "session/{session_id}/cookie".format(**vars(session)),
+        {"cookie": cookie})
+
+
 def test_add_domain_cookie(session, url, server_config):
+    new_cookie = {
+        "name": "hello",
+        "value": "world",
+        "domain": server_config["browser_host"],
+        "path": "/",
+        "httpOnly": False,
+        "secure": False
+    }
+
     session.url = url("/common/blank.html")
     clear_all_cookies(session)
-    create_cookie_request = {
-        "cookie": {
-            "name": "hello",
-            "value": "world",
-            "domain": server_config["browser_host"],
-            "path": "/",
-            "httpOnly": False,
-            "secure": False
-        }
-    }
-    result = session.transport.send(
-        "POST", "session/%s/cookie" % session.session_id, create_cookie_request)
+
+    result = add_cookie(session, new_cookie)
     assert_success(result)
 
     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)
@@ -37,31 +42,29 @@ def test_add_domain_cookie(session, url,
 
     assert cookie["name"] == "hello"
     assert cookie["value"] == "world"
     assert cookie["domain"] == server_config["browser_host"] or \
         cookie["domain"] == ".%s" % server_config["browser_host"]
 
 
 def test_add_cookie_for_ip(session, url, server_config, configuration):
+    new_cookie = {
+        "name": "hello",
+        "value": "world",
+        "domain": "127.0.0.1",
+        "path": "/",
+        "httpOnly": False,
+        "secure": False
+    }
+
     session.url = "http://127.0.0.1:%s/common/blank.html" % (server_config["ports"]["http"][0])
     clear_all_cookies(session)
-    create_cookie_request = {
-        "cookie": {
-            "name": "hello",
-            "value": "world",
-            "domain": "127.0.0.1",
-            "path": "/",
-            "httpOnly": False,
-            "secure": False
-        }
-    }
 
-    result = session.transport.send(
-        "POST", "session/%s/cookie" % session.session_id, create_cookie_request)
+    result = add_cookie(session, new_cookie)
     assert_success(result)
 
     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)
@@ -75,29 +78,29 @@ def test_add_cookie_for_ip(session, url,
     assert isinstance(cookie["domain"], basestring)
 
     assert cookie["name"] == "hello"
     assert cookie["value"] == "world"
     assert cookie["domain"] == "127.0.0.1"
 
 
 def test_add_non_session_cookie(session, url):
-    session.url = url("/common/blank.html")
-    clear_all_cookies(session)
     a_year_from_now = int(
         (datetime.utcnow() + timedelta(days=365) - datetime.utcfromtimestamp(0)).total_seconds())
-    create_cookie_request = {
-        "cookie": {
-            "name": "hello",
-            "value": "world",
-            "expiry": a_year_from_now
-        }
+
+    new_cookie = {
+        "name": "hello",
+        "value": "world",
+        "expiry": a_year_from_now
     }
-    result = session.transport.send(
-        "POST", "session/%s/cookie" % session.session_id, create_cookie_request)
+
+    session.url = url("/common/blank.html")
+    clear_all_cookies(session)
+
+    result = add_cookie(session, new_cookie)
     assert_success(result)
 
     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)
@@ -111,26 +114,25 @@ def test_add_non_session_cookie(session,
     assert isinstance(cookie["expiry"], int)
 
     assert cookie["name"] == "hello"
     assert cookie["value"] == "world"
     assert cookie["expiry"] == a_year_from_now
 
 
 def test_add_session_cookie(session, url):
+    new_cookie = {
+        "name": "hello",
+        "value": "world"
+    }
+
     session.url = url("/common/blank.html")
     clear_all_cookies(session)
-    create_cookie_request = {
-        "cookie": {
-            "name": "hello",
-            "value": "world"
-        }
-    }
-    result = session.transport.send(
-        "POST", "session/%s/cookie" % session.session_id, create_cookie_request)
+
+    result = add_cookie(session, new_cookie)
     assert_success(result)
 
     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)
@@ -143,27 +145,26 @@ def test_add_session_cookie(session, url
     if "expiry" in cookie:
         assert cookie.get("expiry") is None
 
     assert cookie["name"] == "hello"
     assert cookie["value"] == "world"
 
 
 def test_add_session_cookie_with_leading_dot_character_in_domain(session, url, server_config):
+    new_cookie = {
+        "name": "hello",
+        "value": "world",
+        "domain": ".%s" % server_config["browser_host"]
+    }
+
     session.url = url("/common/blank.html")
     clear_all_cookies(session)
-    create_cookie_request = {
-        "cookie": {
-            "name": "hello",
-            "value": "world",
-            "domain": ".%s" % server_config["browser_host"]
-        }
-    }
-    result = session.transport.send(
-        "POST", "session/%s/cookie" % session.session_id, create_cookie_request)
+
+    result = add_cookie(session, new_cookie)
     assert_success(result)
 
     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)