Separate official widget authorization and document account-only RPC capabilities
This commit is contained in:
@@ -67,3 +67,23 @@ def test_widget_api_mock_and_auth(client):
|
||||
assert len(response.json()["catalog"]) == 75
|
||||
client.headers.clear()
|
||||
assert client.get("/api/v1/devices/living-room/widgets").status_code == 401
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"robot,selected,status",
|
||||
[
|
||||
({"frameCoverRobotId": None}, None, "NO_WIDGET"),
|
||||
({}, None, "CURRENT_UNVERIFIED"),
|
||||
({"frameCoverRobotId": 123}, None, "CURRENT_UNVERIFIED"),
|
||||
],
|
||||
)
|
||||
def test_no_selection_is_distinct_from_unknown(robot, selected, status):
|
||||
response = Mock(status_code=200)
|
||||
response.json.return_value = {
|
||||
"result": {"rows": [], "robot": robot, "frameCoverRobot": selected}
|
||||
}
|
||||
with patch("requests.post", return_value=response):
|
||||
result = WidgetReader("secret", 123).read()
|
||||
assert result.status == status
|
||||
assert result.current is None
|
||||
assert result.current_verified == (status == "NO_WIDGET")
|
||||
|
||||
Reference in New Issue
Block a user