Bug 1470530 - [wdspec] Move "add_browser_capabilities" fixture under "new_session". draft
authorHenrik Skupin <mail@hskupin.info>
Wed, 27 Jun 2018 16:40:18 +0200
changeset 813914 eb61eb6c1a8ca73f6da5864f298f18faaf2009b2
parent 813913 5cbc844b1b9fff6b46e19cf8e3babecf53da02f9
child 813915 2f80f81f5ed38e31ffd0696be6f34e4f0929a66a
push id115045
push userbmo:hskupin@gmail.com
push dateWed, 04 Jul 2018 04:53:58 +0000
bugs1470530
milestone63.0a1
Bug 1470530 - [wdspec] Move "add_browser_capabilities" fixture under "new_session". The "add_browser_capabilities" fixture is only used for new session tests, and as such makes sense to only expose the fixture for that specific sub directory. MozReview-Commit-ID: 7FYuz9lVRxH
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/webdriver/tests/conftest.py
testing/web-platform/tests/webdriver/tests/new_session/conftest.py
testing/web-platform/tests/webdriver/tests/new_session/create_alwaysMatch.py
testing/web-platform/tests/webdriver/tests/new_session/create_firstMatch.py
testing/web-platform/tests/webdriver/tests/new_session/default_values.py
testing/web-platform/tests/webdriver/tests/new_session/invalid_capabilities.py
testing/web-platform/tests/webdriver/tests/new_session/merge.py
testing/web-platform/tests/webdriver/tests/new_session/response.py
testing/web-platform/tests/webdriver/tests/support/fixtures.py
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -619971,17 +619971,17 @@
    "8c22860607cb0f3d610888c9816bf2384e2c5445",
    "wdspec"
   ],
   "webdriver/tests/close_window/user_prompts.py": [
    "e263ab43c4fa2525fc252a887f77e7b3eec60fd8",
    "wdspec"
   ],
   "webdriver/tests/conftest.py": [
-   "6d40ad141aea1a1ec6458c32694ef72ef5314569",
+   "ab3d9928bc95453d1a624b894333ed7582a538e2",
    "support"
   ],
   "webdriver/tests/delete_all_cookies/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/delete_all_cookies/delete.py": [
    "1248b2e14b6b690b996f8bf620a6a1f33514256a",
@@ -620319,41 +620319,41 @@
    "6274392529489518207961ed5e6b6bb3ff081572",
    "wdspec"
   ],
   "webdriver/tests/new_session/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/new_session/conftest.py": [
-   "72798e95422e70158c26b60aabc27a480bac8758",
+   "84d255cc36553dd1e539a821477302f3671a760c",
    "support"
   ],
   "webdriver/tests/new_session/create_alwaysMatch.py": [
-   "d0100b96ccdcc99bccd7bd611bd9df2f51c4a728",
+   "7f0524d63065aa566a85e4a13be23e20fafac1a3",
    "wdspec"
   ],
   "webdriver/tests/new_session/create_firstMatch.py": [
-   "a3f2156bea16ae9eb270794a2b5a0c1a39c3e631",
+   "dabcb551c4887e1fcff2c592ead0ed2fc4e093a0",
    "wdspec"
   ],
   "webdriver/tests/new_session/default_values.py": [
-   "596830d45fc6c9f8a5ad1e91f79d580adf32ff54",
+   "5098317d830e827f577662dabcb4388dff776609",
    "wdspec"
   ],
   "webdriver/tests/new_session/invalid_capabilities.py": [
-   "547c60d0dd9a5596e7f06a026ee04f071c46e4f5",
+   "ead06abab030c160f978e54ce33d4b800fdb6fea",
    "wdspec"
   ],
   "webdriver/tests/new_session/merge.py": [
-   "5022b2f05cb618167ad7d6a23f886c7f39907212",
+   "4a17fed5d366756420f7cac29696e612f405b2a0",
    "wdspec"
   ],
   "webdriver/tests/new_session/response.py": [
-   "6093d95910f0994a8189f3d8df223ccc7ef97062",
+   "a9021a93a0355e306a8fdbb1a820bb57562e354f",
    "wdspec"
   ],
   "webdriver/tests/new_session/support/__init__.py": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "support"
   ],
   "webdriver/tests/new_session/support/create.py": [
    "4bfb99fd4ba44ab5b4e70e9246cbb200c098ae89",
@@ -620415,17 +620415,17 @@
    "5a31a3917a5157516c10951a3b3d5ffb43b992d9",
    "support"
   ],
   "webdriver/tests/support/asserts.py": [
    "b7424061b41d9bb1b87f147d5b29786695249d10",
    "support"
   ],
   "webdriver/tests/support/fixtures.py": [
-   "0ae7915e0bcc0cc5960fdc2e47161a3a888a924e",
+   "d24a7f39787d4d950743bafe9910ea21a54b34ec",
    "support"
   ],
   "webdriver/tests/support/http_request.py": [
    "cb40c781fea2280b98135522def5e6a116d7b946",
    "support"
   ],
   "webdriver/tests/support/inline.py": [
    "48399821b7abca50df824e37c41829d7a4573be1",
--- a/testing/web-platform/tests/webdriver/tests/conftest.py
+++ b/testing/web-platform/tests/webdriver/tests/conftest.py
@@ -1,12 +1,11 @@
 import pytest
 
 from tests.support.fixtures import (
-    add_browser_capabilites,
     add_event_listeners,
     configuration,
     create_dialog,
     create_frame,
     create_window,
     current_session,
     http,
     server_config,
@@ -22,17 +21,16 @@ def capabilities():
 
 def pytest_generate_tests(metafunc):
     if "capabilities" in metafunc.fixturenames:
         marker = metafunc.definition.get_closest_marker(name="capabilities")
         if marker:
             metafunc.parametrize("capabilities", marker.args, ids=None)
 
 
-pytest.fixture()(add_browser_capabilites)
 pytest.fixture()(add_event_listeners)
 pytest.fixture(scope="session")(configuration)
 pytest.fixture()(create_dialog)
 pytest.fixture()(create_frame)
 pytest.fixture()(create_window)
 pytest.fixture(scope="function")(current_session)
 pytest.fixture()(http)
 pytest.fixture()(server_config)
--- a/testing/web-platform/tests/webdriver/tests/new_session/conftest.py
+++ b/testing/web-platform/tests/webdriver/tests/new_session/conftest.py
@@ -8,16 +8,30 @@ from webdriver.transport import HTTPWire
 def product(a, b):
     return [(a, item) for item in b]
 
 
 def flatten(l):
     return [item for x in l for item in x]
 
 
+@pytest.fixture(name="add_browser_capabilities")
+def fixture_add_browser_capabilities(configuration):
+
+    def add_browser_capabilities(capabilities):
+        # Make sure there aren't keys in common.
+        assert not set(configuration["capabilities"]).intersection(set(capabilities))
+        result = dict(configuration["capabilities"])
+        result.update(capabilities)
+
+        return result
+
+    return add_browser_capabilities
+
+
 @pytest.fixture(name="new_session")
 def fixture_new_session(request, configuration, current_session):
     """Start a new session for tests which themselves test creating new sessions.
 
     :param body: The content of the body for the new session POST request.
 
     :param delete_existing_session: Allows the fixture to delete an already
      created custom session before the new session is getting created. This
--- a/testing/web-platform/tests/webdriver/tests/new_session/create_alwaysMatch.py
+++ b/testing/web-platform/tests/webdriver/tests/new_session/create_alwaysMatch.py
@@ -4,13 +4,13 @@ import pytest
 
 from conftest import product, flatten
 
 from tests.support.asserts import assert_success
 from tests.new_session.support.create import valid_data
 
 
 @pytest.mark.parametrize("key,value", flatten(product(*item) for item in valid_data))
-def test_valid(new_session, add_browser_capabilites, key, value):
+def test_valid(new_session, add_browser_capabilities, key, value):
     response, _ = new_session({"capabilities": {
-        "alwaysMatch": add_browser_capabilites({key: value})}})
+        "alwaysMatch": add_browser_capabilities({key: value})}})
     assert_success(response)
 
--- a/testing/web-platform/tests/webdriver/tests/new_session/create_firstMatch.py
+++ b/testing/web-platform/tests/webdriver/tests/new_session/create_firstMatch.py
@@ -5,12 +5,12 @@ import pytest
 from conftest import product, flatten
 
 
 from tests.support.asserts import assert_success
 from tests.new_session.support.create import valid_data
 
 
 @pytest.mark.parametrize("key,value", flatten(product(*item) for item in valid_data))
-def test_valid(new_session, add_browser_capabilites, key, value):
+def test_valid(new_session, add_browser_capabilities, key, value):
     response, _ = new_session({"capabilities": {
-        "firstMatch": [add_browser_capabilites({key: value})]}})
+        "firstMatch": [add_browser_capabilities({key: value})]}})
     assert_success(response)
--- a/testing/web-platform/tests/webdriver/tests/new_session/default_values.py
+++ b/testing/web-platform/tests/webdriver/tests/new_session/default_values.py
@@ -1,55 +1,55 @@
 # META: timeout=long
 
 from tests.support.asserts import assert_error, assert_success
 
 
-def test_basic(new_session, add_browser_capabilites):
-    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({})}})
+def test_basic(new_session, add_browser_capabilities):
+    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
     value = assert_success(response)
     assert set(value.keys()) == {"sessionId", "capabilities"}
 
 
-def test_repeat_new_session(new_session, add_browser_capabilites):
-    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({})}})
+def test_repeat_new_session(new_session, add_browser_capabilities):
+    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
     assert_success(response)
 
-    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({})}})
+    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
     assert_error(response, "session not created")
 
 
 def test_no_capabilites(new_session):
     response, _ = new_session({})
     assert_error(response, "invalid argument")
 
 
-def test_missing_first_match(new_session, add_browser_capabilites):
-    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({})}})
+def test_missing_first_match(new_session, add_browser_capabilities):
+    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
     assert_success(response)
 
 
-def test_missing_always_match(new_session, add_browser_capabilites):
-    response, _ = new_session({"capabilities": {"firstMatch": [add_browser_capabilites({})]}})
+def test_missing_always_match(new_session, add_browser_capabilities):
+    response, _ = new_session({"capabilities": {"firstMatch": [add_browser_capabilities({})]}})
     assert_success(response)
 
 
-def test_desired(new_session, add_browser_capabilites):
-    response, _ = new_session({"desiredCapbilities": add_browser_capabilites({})})
+def test_desired(new_session, add_browser_capabilities):
+    response, _ = new_session({"desiredCapbilities": add_browser_capabilities({})})
     assert_error(response, "invalid argument")
 
 
-def test_ignore_non_spec_fields_in_capabilities(new_session, add_browser_capabilites):
+def test_ignore_non_spec_fields_in_capabilities(new_session, add_browser_capabilities):
     response, _ = new_session({"capabilities": {
-        "alwaysMatch": add_browser_capabilites({}),
+        "alwaysMatch": add_browser_capabilities({}),
         "desiredCapbilities": {"pageLoadStrategy": "eager"},
     }})
     value = assert_success(response)
     assert value["capabilities"]["pageLoadStrategy"] == "normal"
 
 
-def test_valid_but_unmatchable_key(new_session, add_browser_capabilites):
+def test_valid_but_unmatchable_key(new_session, add_browser_capabilities):
     response, _ = new_session({"capabilities": {"firstMatch": [
-        add_browser_capabilites({"pageLoadStrategy": "eager", "foo:unmatchable": True}),
+        add_browser_capabilities({"pageLoadStrategy": "eager", "foo:unmatchable": True}),
         {"pageLoadStrategy": "none"},
     ]}})
     value = assert_success(response)
     assert value["capabilities"]["pageLoadStrategy"] == "none"
--- a/testing/web-platform/tests/webdriver/tests/new_session/invalid_capabilities.py
+++ b/testing/web-platform/tests/webdriver/tests/new_session/invalid_capabilities.py
@@ -6,26 +6,26 @@ from conftest import product, flatten
 
 @pytest.mark.parametrize("value", [None, 1, "{}", []])
 def test_invalid_capabilites(new_session, value):
     response, _ = new_session({"capabilities": value})
     assert_error(response, "invalid argument")
 
 
 @pytest.mark.parametrize("value", [None, 1, "{}", []])
-def test_invalid_always_match(new_session, add_browser_capabilites, value):
-    capabilities = {"alwaysMatch": value, "firstMatch": [add_browser_capabilites({})]}
+def test_invalid_always_match(new_session, add_browser_capabilities, value):
+    capabilities = {"alwaysMatch": value, "firstMatch": [add_browser_capabilities({})]}
 
     response, _ = new_session({"capabilities": capabilities})
     assert_error(response, "invalid argument")
 
 
 @pytest.mark.parametrize("value", [None, 1, "[]", {}])
-def test_invalid_first_match(new_session, add_browser_capabilites, value):
-    capabilities = {"alwaysMatch": add_browser_capabilites({}), "firstMatch": value}
+def test_invalid_first_match(new_session, add_browser_capabilities, value):
+    capabilities = {"alwaysMatch": add_browser_capabilities({}), "firstMatch": value}
 
     response, _ = new_session({"capabilities": capabilities})
     assert_error(response, "invalid argument")
 
 
 invalid_data = [
     ("acceptInsecureCerts", [1, [], {}, "false"]),
     ("browserName", [1, [], {}, False]),
@@ -47,22 +47,22 @@ invalid_data = [
     ("unhandledPromptBehavior", [1, [], {}, False, "DISMISS", "dismissABC", "Accept",
                                  " dismiss", "dismiss "])
 ]
 
 
 @pytest.mark.parametrize("body", [lambda key, value: {"alwaysMatch": {key: value}},
                                   lambda key, value: {"firstMatch": [{key: value}]}])
 @pytest.mark.parametrize("key,value", flatten(product(*item) for item in invalid_data))
-def test_invalid_values(new_session, add_browser_capabilites, body, key, value):
+def test_invalid_values(new_session, add_browser_capabilities, body, key, value):
     capabilities = body(key, value)
     if "alwaysMatch" in capabilities:
-        capabilities["alwaysMatch"] = add_browser_capabilites(capabilities["alwaysMatch"])
+        capabilities["alwaysMatch"] = add_browser_capabilities(capabilities["alwaysMatch"])
     else:
-        capabilities["firstMatch"][0] = add_browser_capabilites(capabilities["firstMatch"][0])
+        capabilities["firstMatch"][0] = add_browser_capabilities(capabilities["firstMatch"][0])
 
     response, _ = new_session({"capabilities": capabilities})
     assert_error(response, "invalid argument")
 
 
 invalid_extensions = [
     "firefox",
     "firefox_binary",
@@ -86,17 +86,17 @@ invalid_extensions = [
     "safari.options",
     "ensureCleanSession",
 ]
 
 
 @pytest.mark.parametrize("body", [lambda key, value: {"alwaysMatch": {key: value}},
                                   lambda key, value: {"firstMatch": [{key: value}]}])
 @pytest.mark.parametrize("key", invalid_extensions)
-def test_invalid_extensions(new_session, add_browser_capabilites, body, key):
+def test_invalid_extensions(new_session, add_browser_capabilities, body, key):
     capabilities = body(key, {})
     if "alwaysMatch" in capabilities:
-        capabilities["alwaysMatch"] = add_browser_capabilites(capabilities["alwaysMatch"])
+        capabilities["alwaysMatch"] = add_browser_capabilities(capabilities["alwaysMatch"])
     else:
-        capabilities["firstMatch"][0] = add_browser_capabilites(capabilities["firstMatch"][0])
+        capabilities["firstMatch"][0] = add_browser_capabilities(capabilities["firstMatch"][0])
 
     response, _ = new_session({"capabilities": capabilities})
     assert_error(response, "invalid argument")
--- a/testing/web-platform/tests/webdriver/tests/new_session/merge.py
+++ b/testing/web-platform/tests/webdriver/tests/new_session/merge.py
@@ -4,22 +4,22 @@ import pytest
 
 from tests.support.asserts import assert_error, assert_success
 from conftest import platform_name
 
 
 @pytest.mark.skipif(platform_name() is None, reason="Unsupported platform")
 @pytest.mark.parametrize("body", [lambda key, value: {"alwaysMatch": {key: value}},
                                   lambda key, value: {"firstMatch": [{key: value}]}])
-def test_platform_name(new_session, add_browser_capabilites, platform_name, body):
+def test_platform_name(new_session, add_browser_capabilities, platform_name, body):
     capabilities = body("platformName", platform_name)
     if "alwaysMatch" in capabilities:
-        capabilities["alwaysMatch"] = add_browser_capabilites(capabilities["alwaysMatch"])
+        capabilities["alwaysMatch"] = add_browser_capabilities(capabilities["alwaysMatch"])
     else:
-        capabilities["firstMatch"][0] = add_browser_capabilites(capabilities["firstMatch"][0])
+        capabilities["firstMatch"][0] = add_browser_capabilities(capabilities["firstMatch"][0])
 
     response, _ = new_session({"capabilities": capabilities})
     value = assert_success(response)
 
     assert value["capabilities"]["platformName"] == platform_name
 
 
 invalid_merge = [
@@ -27,53 +27,53 @@ invalid_merge = [
     ("unhandledPromptBehavior", ("accept", "accept")),
     ("unhandledPromptBehavior", ("accept", "dismiss")),
     ("timeouts", ({"script": 10}, {"script": 10})),
     ("timeouts", ({"script": 10}, {"pageLoad": 10})),
 ]
 
 
 @pytest.mark.parametrize("key,value", invalid_merge)
-def test_merge_invalid(new_session, add_browser_capabilites, key, value):
+def test_merge_invalid(new_session, add_browser_capabilities, key, value):
     response, _ = new_session({"capabilities": {
-        "alwaysMatch": add_browser_capabilites({key: value[0]}),
+        "alwaysMatch": add_browser_capabilities({key: value[0]}),
         "firstMatch": [{}, {key: value[1]}],
     }})
     assert_error(response, "invalid argument")
 
 
 @pytest.mark.skipif(platform_name() is None, reason="Unsupported platform")
-def test_merge_platformName(new_session, add_browser_capabilites, platform_name):
+def test_merge_platformName(new_session, add_browser_capabilities, platform_name):
     response, _ = new_session({"capabilities": {
-        "alwaysMatch": add_browser_capabilites({"timeouts": {"script": 10}}),
+        "alwaysMatch": add_browser_capabilities({"timeouts": {"script": 10}}),
         "firstMatch": [{
             "platformName": platform_name.upper(),
             "pageLoadStrategy": "none",
         }, {
             "platformName": platform_name,
             "pageLoadStrategy": "eager",
         }]}})
 
     value = assert_success(response)
 
     assert value["capabilities"]["platformName"] == platform_name
     assert value["capabilities"]["pageLoadStrategy"] == "eager"
 
 
-def test_merge_browserName(new_session, add_browser_capabilites):
-    response, session = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({})}})
+def test_merge_browserName(new_session, add_browser_capabilities):
+    response, session = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
     value = assert_success(response)
 
     browser_settings = {
         "browserName": value["capabilities"]["browserName"],
         "browserVersion": value["capabilities"]["browserVersion"],
     }
 
     response, _ = new_session({"capabilities": {
-        "alwaysMatch": add_browser_capabilites({"timeouts": {"script": 10}}),
+        "alwaysMatch": add_browser_capabilities({"timeouts": {"script": 10}}),
         "firstMatch": [{
             "browserName": browser_settings["browserName"] + "invalid",
             "pageLoadStrategy": "none",
         }, {
             "browserName": browser_settings["browserName"],
             "pageLoadStrategy": "eager",
         }]}}, delete_existing_session=True)
     value = assert_success(response)
--- a/testing/web-platform/tests/webdriver/tests/new_session/response.py
+++ b/testing/web-platform/tests/webdriver/tests/new_session/response.py
@@ -1,24 +1,24 @@
 # META: timeout=long
 
 import uuid
 
 from tests.support.asserts import assert_success
 
 
-def test_sessionid(new_session, add_browser_capabilites):
-    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({})}})
+def test_sessionid(new_session, add_browser_capabilities):
+    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
     value = assert_success(response)
     assert isinstance(value["sessionId"], basestring)
     uuid.UUID(hex=value["sessionId"])
 
 
-def test_capabilites(new_session, add_browser_capabilites):
-    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({})}})
+def test_capabilites(new_session, add_browser_capabilities):
+    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
     value = assert_success(response)
     assert isinstance(value["capabilities"], dict)
 
     all_capabilities = set(value["capabilities"].keys())
     expected_capabilities = {
         "browserName",
         "browserVersion",
         "platformName",
@@ -29,18 +29,18 @@ def test_capabilites(new_session, add_br
         "pageLoadStrategy",
     }
 
     assert expected_capabilities.issubset(all_capabilities), (
         "{0} cannot be found in {1}".format(
             list(expected_capabilities - all_capabilities), all_capabilities))
 
 
-def test_data(new_session, add_browser_capabilites, platform_name):
-    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({})}})
+def test_data(new_session, add_browser_capabilities, platform_name):
+    response, _ = new_session({"capabilities": {"alwaysMatch": add_browser_capabilities({})}})
     value = assert_success(response)
 
     assert isinstance(value["capabilities"]["browserName"], basestring)
     assert isinstance(value["capabilities"]["browserVersion"], basestring)
     if platform_name:
         assert value["capabilities"]["platformName"] == platform_name
     else:
         assert "platformName" in value["capabilities"]
@@ -48,27 +48,27 @@ def test_data(new_session, add_browser_c
     assert isinstance(value["capabilities"]["setWindowRect"], bool)
     assert value["capabilities"]["timeouts"]["implicit"] == 0
     assert value["capabilities"]["timeouts"]["pageLoad"] == 300000
     assert value["capabilities"]["timeouts"]["script"] == 30000
     assert value["capabilities"]["proxy"] == {}
     assert value["capabilities"]["pageLoadStrategy"] == "normal"
 
 
-def test_timeouts(new_session, add_browser_capabilites, platform_name):
+def test_timeouts(new_session, add_browser_capabilities, platform_name):
     response, _ = new_session({"capabilities": {
-        "alwaysMatch": add_browser_capabilites({"timeouts": {"implicit": 1000}}),
+        "alwaysMatch": add_browser_capabilities({"timeouts": {"implicit": 1000}}),
     }})
     value = assert_success(response)
 
     assert value["capabilities"]["timeouts"] == {
         "implicit": 1000,
         "pageLoad": 300000,
         "script": 30000
     }
 
 
-def test_pageLoadStrategy(new_session, add_browser_capabilites, platform_name):
+def test_pageLoadStrategy(new_session, add_browser_capabilities, platform_name):
     response, _ = new_session({"capabilities": {
-        "alwaysMatch": add_browser_capabilites({"pageLoadStrategy": "eager"})}})
+        "alwaysMatch": add_browser_capabilities({"pageLoadStrategy": "eager"})}})
     value = assert_success(response)
 
     assert value["capabilities"]["pageLoadStrategy"] == "eager"
--- a/testing/web-platform/tests/webdriver/tests/support/fixtures.py
+++ b/testing/web-platform/tests/webdriver/tests/support/fixtures.py
@@ -220,26 +220,16 @@ def session(capabilities, configuration,
 
     return _current_session
 
 
 def current_session():
     return _current_session
 
 
-def add_browser_capabilites(configuration):
-    def update_capabilities(capabilities):
-        # Make sure there aren't keys in common.
-        assert not set(configuration["capabilities"]).intersection(set(capabilities))
-        result = dict(configuration["capabilities"])
-        result.update(capabilities)
-        return result
-    return update_capabilities
-
-
 def url(server_config):
     def inner(path, protocol="http", query="", fragment=""):
         port = server_config["ports"][protocol][0]
         host = "%s:%s" % (server_config["browser_host"], port)
         return urlparse.urlunsplit((protocol, host, path, query, fragment))
 
     inner.__name__ = "url"
     return inner