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", }, ]
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"}}' )