Unreviewed. Update W3C WebDriver imported tests.
[WebKit-https.git] / WebDriverTests / imported / w3c / webdriver / tests / sessions / status.py
1 import pytest
2 import json
3
4
5 def test_get_status_no_session(http):
6     with http.get("/status") as response:
7         # GET /status should never return an error
8         assert response.status == 200
9
10         # parse JSON response and unwrap 'value' property
11         parsed_obj = json.loads(response.read().decode('utf-8'))
12         value = parsed_obj["value"]
13
14         # Let body be a new JSON Object with the following properties:
15         # "ready"
16         #       The remote end's readiness state.
17         assert value["ready"] in [True, False]
18         # "message"
19         #       An implementation-defined string explaining the remote end's
20         #       readiness state.
21         assert isinstance(value["message"], basestring)
22
23
24 def test_status_with_session_running_on_endpoint_node(new_session):
25     # For an endpoint node, the maximum number of active
26     # sessions is 1: https://www.w3.org/TR/webdriver/#dfn-maximum-active-sessions
27     # A session is open, so we expect `ready` to be False
28     # 8.3 step 1.
29
30     _, session = new_session("{}")  # we don't care what we're using
31     value = session.send_command("GET", "status")
32
33     assert value["ready"] == False
34     assert "message" in value
35
36     session.end()
37
38     # Active session count is 0, meaning that the
39     # readiness state of the server should be True
40     # 8.3 step 1. Again
41     value = session.send_command("GET", "status")
42
43     assert value["ready"] == True
44     assert "message" in value
45