From ca3a22b5a3e173f12fee0d87272bcec278ee100a Mon Sep 17 00:00:00 2001 From: Raman Gupta <7243222+raman325@users.noreply.github.com> Date: Sun, 22 Mar 2020 12:34:00 -0400 Subject: [PATCH] Filter out duplicate app names from vizio's source list (#33051) * filter out additional app config names from pyvizios app list * add test * change where filtering app list occurs * fix test * fix mistake in change * hopefully final test fix * fix test scenario that unknowingly broke with test change --- homeassistant/components/vizio/media_player.py | 6 +++++- tests/components/vizio/const.py | 3 +-- tests/components/vizio/test_media_player.py | 11 +++++++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/vizio/media_player.py b/homeassistant/components/vizio/media_player.py index a46a4c9a2d1..d97a82ca144 100644 --- a/homeassistant/components/vizio/media_player.py +++ b/homeassistant/components/vizio/media_player.py @@ -335,7 +335,11 @@ class VizioDevice(MediaPlayerDevice): if _input not in INPUT_APPS ], *self._available_apps, - *self._get_additional_app_names(), + *[ + app + for app in self._get_additional_app_names() + if app not in self._available_apps + ], ] return self._available_inputs diff --git a/tests/components/vizio/const.py b/tests/components/vizio/const.py index 2cb9103c4d9..25abd01d53b 100644 --- a/tests/components/vizio/const.py +++ b/tests/components/vizio/const.py @@ -70,10 +70,9 @@ INPUT_LIST = ["HDMI", "USB", "Bluetooth", "AUX"] CURRENT_APP = "Hulu" APP_LIST = ["Hulu", "Netflix"] INPUT_LIST_WITH_APPS = INPUT_LIST + ["CAST"] -CUSTOM_APP_NAME = "APP3" CUSTOM_CONFIG = {CONF_APP_ID: "test", CONF_MESSAGE: None, CONF_NAME_SPACE: 10} ADDITIONAL_APP_CONFIG = { - "name": CUSTOM_APP_NAME, + "name": CURRENT_APP, CONF_CONFIG: CUSTOM_CONFIG, } diff --git a/tests/components/vizio/test_media_player.py b/tests/components/vizio/test_media_player.py index 68366e8e98b..ebeef1661ed 100644 --- a/tests/components/vizio/test_media_player.py +++ b/tests/components/vizio/test_media_player.py @@ -58,7 +58,6 @@ from .const import ( APP_LIST, CURRENT_APP, CURRENT_INPUT, - CUSTOM_APP_NAME, CUSTOM_CONFIG, ENTITY_ID, INPUT_LIST, @@ -180,11 +179,15 @@ async def _test_setup_with_apps( + [ app["name"] for app in device_config[CONF_APPS][CONF_ADDITIONAL_CONFIGS] + if app["name"] not in APP_LIST ] ) else: list_to_test = list(INPUT_LIST_WITH_APPS + APP_LIST) + if CONF_ADDITIONAL_CONFIGS in device_config.get(CONF_APPS, {}): + assert attr["source_list"].count(CURRENT_APP) == 1 + for app_to_remove in INPUT_APPS: if app_to_remove in list_to_test: list_to_test.remove(app_to_remove) @@ -471,14 +474,14 @@ async def test_setup_with_apps_additional_apps_config( hass, "launch_app", SERVICE_SELECT_SOURCE, - {ATTR_INPUT_SOURCE: CURRENT_APP}, - CURRENT_APP, + {ATTR_INPUT_SOURCE: "Netflix"}, + "Netflix", ) await _test_service( hass, "launch_app_config", SERVICE_SELECT_SOURCE, - {ATTR_INPUT_SOURCE: CUSTOM_APP_NAME}, + {ATTR_INPUT_SOURCE: CURRENT_APP}, **CUSTOM_CONFIG, ) -- GitLab