예제 #1
0
def test_app_list(connection: Mock) -> None:
    """Ensure valid app_list data can be parsed."""
    connection.recv.side_effect = [
        MS_CHANNEL_CONNECT_SAMPLE,
        ED_INSTALLED_APP_SAMPLE,
    ]
    tv = SamsungTVWS("127.0.0.1")
    assert tv.app_list() == [
        {
            "appId": "111299001912",
            "app_type": 2,
            "icon":
            "/opt/share/webappservice/apps_icon/FirstScreen/111299001912/250x250.png",
            "is_lock": 0,
            "name": "YouTube",
        },
        {
            "appId": "3201608010191",
            "app_type": 2,
            "icon":
            "/opt/share/webappservice/apps_icon/FirstScreen/3201608010191/250x250.png",
            "is_lock": 0,
            "name": "Deezer",
        },
    ]
예제 #2
0
def test_app_list_invalid(connection: Mock) -> None:
    """Ensure simple data can be parsed."""
    connection.recv.side_effect = [
        MS_CHANNEL_CONNECT_SAMPLE,
        ED_APPS_LAUNCH_SAMPLE,
    ]
    tv = SamsungTVWS("127.0.0.1")
    assert tv.app_list() is None
    connection.send.assert_called_once_with(
        '{"method": "ms.channel.emit", "params": {"event": "ed.installedApp.get", "to": "host"}}'
    )