From b712d91b0e28af88e76324666452859456365cae Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 31 Jan 2019 11:27:35 -0800 Subject: [PATCH 1/6] Consolidate config flow components --- .../components/{media_player/cast.py => cast/media_player.py} | 0 homeassistant/components/{climate/daikin.py => daikin/climate.py} | 0 homeassistant/components/{sensor/daikin.py => daikin/sensor.py} | 0 .../components/{notify/hangouts.py => hangouts/notify.py} | 0 .../alarm_control_panel.py} | 0 .../homematicip_cloud.py => homematicip_cloud/binary_sensor.py} | 0 .../homematicip_cloud.py => homematicip_cloud/climate.py} | 0 .../{cover/homematicip_cloud.py => homematicip_cloud/cover.py} | 0 .../{light/homematicip_cloud.py => homematicip_cloud/light.py} | 0 .../{sensor/homematicip_cloud.py => homematicip_cloud/sensor.py} | 0 .../{switch/homematicip_cloud.py => homematicip_cloud/switch.py} | 0 .../ifttt.py => ifttt/alarm_control_panel.py} | 0 homeassistant/components/{notify/ios.py => ios/notify.py} | 0 homeassistant/components/{sensor/ios.py => ios/sensor.py} | 0 homeassistant/components/{light/lifx.py => lifx/light.py} | 0 .../components/{sensor/luftdaten.py => luftdaten/sensor.py} | 0 homeassistant/components/{lutron.py => lutron/__init__.py} | 0 homeassistant/components/{cover/lutron.py => lutron/cover.py} | 0 homeassistant/components/{light/lutron.py => lutron/light.py} | 0 homeassistant/components/{scene/lutron.py => lutron/scene.py} | 0 homeassistant/components/{switch/lutron.py => lutron/switch.py} | 0 .../components/{device_tracker/mqtt.py => mqtt/device_tracker.py} | 0 .../components/{binary_sensor/nest.py => nest/binary_sensor.py} | 0 homeassistant/components/{camera/nest.py => nest/camera.py} | 0 homeassistant/components/{climate/nest.py => nest/climate.py} | 0 homeassistant/components/{sensor/nest.py => nest/sensor.py} | 0 .../{device_tracker/owntracks.py => owntracks/device_tracker.py} | 0 .../components/{binary_sensor/point.py => point/binary_sensor.py} | 0 homeassistant/components/{sensor/point.py => point/sensor.py} | 0 homeassistant/components/{weather/smhi.py => smhi/weather.py} | 0 .../components/{media_player/sonos.py => sonos/media_player.py} | 0 .../tellduslive.py => tellduslive/binary_sensor.py} | 0 .../components/{cover/tellduslive.py => tellduslive/cover.py} | 0 .../components/{light/tellduslive.py => tellduslive/light.py} | 0 .../components/{sensor/tellduslive.py => tellduslive/sensor.py} | 0 .../components/{switch/tellduslive.py => tellduslive/switch.py} | 0 homeassistant/components/{light/tradfri.py => tradfri/light.py} | 0 homeassistant/components/{sensor/tradfri.py => tradfri/sensor.py} | 0 homeassistant/components/{switch/tradfri.py => tradfri/switch.py} | 0 .../{device_tracker/unifi.py => unifi/device_tracker.py} | 0 homeassistant/components/{switch/unifi.py => unifi/switch.py} | 0 homeassistant/components/{sensor/upnp.py => upnp/sensor.py} | 0 42 files changed, 0 insertions(+), 0 deletions(-) rename homeassistant/components/{media_player/cast.py => cast/media_player.py} (100%) rename homeassistant/components/{climate/daikin.py => daikin/climate.py} (100%) rename homeassistant/components/{sensor/daikin.py => daikin/sensor.py} (100%) rename homeassistant/components/{notify/hangouts.py => hangouts/notify.py} (100%) rename homeassistant/components/{alarm_control_panel/homematicip_cloud.py => homematicip_cloud/alarm_control_panel.py} (100%) rename homeassistant/components/{binary_sensor/homematicip_cloud.py => homematicip_cloud/binary_sensor.py} (100%) rename homeassistant/components/{climate/homematicip_cloud.py => homematicip_cloud/climate.py} (100%) rename homeassistant/components/{cover/homematicip_cloud.py => homematicip_cloud/cover.py} (100%) rename homeassistant/components/{light/homematicip_cloud.py => homematicip_cloud/light.py} (100%) rename homeassistant/components/{sensor/homematicip_cloud.py => homematicip_cloud/sensor.py} (100%) rename homeassistant/components/{switch/homematicip_cloud.py => homematicip_cloud/switch.py} (100%) rename homeassistant/components/{alarm_control_panel/ifttt.py => ifttt/alarm_control_panel.py} (100%) rename homeassistant/components/{notify/ios.py => ios/notify.py} (100%) rename homeassistant/components/{sensor/ios.py => ios/sensor.py} (100%) rename homeassistant/components/{light/lifx.py => lifx/light.py} (100%) rename homeassistant/components/{sensor/luftdaten.py => luftdaten/sensor.py} (100%) rename homeassistant/components/{lutron.py => lutron/__init__.py} (100%) rename homeassistant/components/{cover/lutron.py => lutron/cover.py} (100%) rename homeassistant/components/{light/lutron.py => lutron/light.py} (100%) rename homeassistant/components/{scene/lutron.py => lutron/scene.py} (100%) rename homeassistant/components/{switch/lutron.py => lutron/switch.py} (100%) rename homeassistant/components/{device_tracker/mqtt.py => mqtt/device_tracker.py} (100%) rename homeassistant/components/{binary_sensor/nest.py => nest/binary_sensor.py} (100%) rename homeassistant/components/{camera/nest.py => nest/camera.py} (100%) rename homeassistant/components/{climate/nest.py => nest/climate.py} (100%) rename homeassistant/components/{sensor/nest.py => nest/sensor.py} (100%) rename homeassistant/components/{device_tracker/owntracks.py => owntracks/device_tracker.py} (100%) rename homeassistant/components/{binary_sensor/point.py => point/binary_sensor.py} (100%) rename homeassistant/components/{sensor/point.py => point/sensor.py} (100%) rename homeassistant/components/{weather/smhi.py => smhi/weather.py} (100%) rename homeassistant/components/{media_player/sonos.py => sonos/media_player.py} (100%) rename homeassistant/components/{binary_sensor/tellduslive.py => tellduslive/binary_sensor.py} (100%) rename homeassistant/components/{cover/tellduslive.py => tellduslive/cover.py} (100%) rename homeassistant/components/{light/tellduslive.py => tellduslive/light.py} (100%) rename homeassistant/components/{sensor/tellduslive.py => tellduslive/sensor.py} (100%) rename homeassistant/components/{switch/tellduslive.py => tellduslive/switch.py} (100%) rename homeassistant/components/{light/tradfri.py => tradfri/light.py} (100%) rename homeassistant/components/{sensor/tradfri.py => tradfri/sensor.py} (100%) rename homeassistant/components/{switch/tradfri.py => tradfri/switch.py} (100%) rename homeassistant/components/{device_tracker/unifi.py => unifi/device_tracker.py} (100%) rename homeassistant/components/{switch/unifi.py => unifi/switch.py} (100%) rename homeassistant/components/{sensor/upnp.py => upnp/sensor.py} (100%) diff --git a/homeassistant/components/media_player/cast.py b/homeassistant/components/cast/media_player.py similarity index 100% rename from homeassistant/components/media_player/cast.py rename to homeassistant/components/cast/media_player.py diff --git a/homeassistant/components/climate/daikin.py b/homeassistant/components/daikin/climate.py similarity index 100% rename from homeassistant/components/climate/daikin.py rename to homeassistant/components/daikin/climate.py diff --git a/homeassistant/components/sensor/daikin.py b/homeassistant/components/daikin/sensor.py similarity index 100% rename from homeassistant/components/sensor/daikin.py rename to homeassistant/components/daikin/sensor.py diff --git a/homeassistant/components/notify/hangouts.py b/homeassistant/components/hangouts/notify.py similarity index 100% rename from homeassistant/components/notify/hangouts.py rename to homeassistant/components/hangouts/notify.py diff --git a/homeassistant/components/alarm_control_panel/homematicip_cloud.py b/homeassistant/components/homematicip_cloud/alarm_control_panel.py similarity index 100% rename from homeassistant/components/alarm_control_panel/homematicip_cloud.py rename to homeassistant/components/homematicip_cloud/alarm_control_panel.py diff --git a/homeassistant/components/binary_sensor/homematicip_cloud.py b/homeassistant/components/homematicip_cloud/binary_sensor.py similarity index 100% rename from homeassistant/components/binary_sensor/homematicip_cloud.py rename to homeassistant/components/homematicip_cloud/binary_sensor.py diff --git a/homeassistant/components/climate/homematicip_cloud.py b/homeassistant/components/homematicip_cloud/climate.py similarity index 100% rename from homeassistant/components/climate/homematicip_cloud.py rename to homeassistant/components/homematicip_cloud/climate.py diff --git a/homeassistant/components/cover/homematicip_cloud.py b/homeassistant/components/homematicip_cloud/cover.py similarity index 100% rename from homeassistant/components/cover/homematicip_cloud.py rename to homeassistant/components/homematicip_cloud/cover.py diff --git a/homeassistant/components/light/homematicip_cloud.py b/homeassistant/components/homematicip_cloud/light.py similarity index 100% rename from homeassistant/components/light/homematicip_cloud.py rename to homeassistant/components/homematicip_cloud/light.py diff --git a/homeassistant/components/sensor/homematicip_cloud.py b/homeassistant/components/homematicip_cloud/sensor.py similarity index 100% rename from homeassistant/components/sensor/homematicip_cloud.py rename to homeassistant/components/homematicip_cloud/sensor.py diff --git a/homeassistant/components/switch/homematicip_cloud.py b/homeassistant/components/homematicip_cloud/switch.py similarity index 100% rename from homeassistant/components/switch/homematicip_cloud.py rename to homeassistant/components/homematicip_cloud/switch.py diff --git a/homeassistant/components/alarm_control_panel/ifttt.py b/homeassistant/components/ifttt/alarm_control_panel.py similarity index 100% rename from homeassistant/components/alarm_control_panel/ifttt.py rename to homeassistant/components/ifttt/alarm_control_panel.py diff --git a/homeassistant/components/notify/ios.py b/homeassistant/components/ios/notify.py similarity index 100% rename from homeassistant/components/notify/ios.py rename to homeassistant/components/ios/notify.py diff --git a/homeassistant/components/sensor/ios.py b/homeassistant/components/ios/sensor.py similarity index 100% rename from homeassistant/components/sensor/ios.py rename to homeassistant/components/ios/sensor.py diff --git a/homeassistant/components/light/lifx.py b/homeassistant/components/lifx/light.py similarity index 100% rename from homeassistant/components/light/lifx.py rename to homeassistant/components/lifx/light.py diff --git a/homeassistant/components/sensor/luftdaten.py b/homeassistant/components/luftdaten/sensor.py similarity index 100% rename from homeassistant/components/sensor/luftdaten.py rename to homeassistant/components/luftdaten/sensor.py diff --git a/homeassistant/components/lutron.py b/homeassistant/components/lutron/__init__.py similarity index 100% rename from homeassistant/components/lutron.py rename to homeassistant/components/lutron/__init__.py diff --git a/homeassistant/components/cover/lutron.py b/homeassistant/components/lutron/cover.py similarity index 100% rename from homeassistant/components/cover/lutron.py rename to homeassistant/components/lutron/cover.py diff --git a/homeassistant/components/light/lutron.py b/homeassistant/components/lutron/light.py similarity index 100% rename from homeassistant/components/light/lutron.py rename to homeassistant/components/lutron/light.py diff --git a/homeassistant/components/scene/lutron.py b/homeassistant/components/lutron/scene.py similarity index 100% rename from homeassistant/components/scene/lutron.py rename to homeassistant/components/lutron/scene.py diff --git a/homeassistant/components/switch/lutron.py b/homeassistant/components/lutron/switch.py similarity index 100% rename from homeassistant/components/switch/lutron.py rename to homeassistant/components/lutron/switch.py diff --git a/homeassistant/components/device_tracker/mqtt.py b/homeassistant/components/mqtt/device_tracker.py similarity index 100% rename from homeassistant/components/device_tracker/mqtt.py rename to homeassistant/components/mqtt/device_tracker.py diff --git a/homeassistant/components/binary_sensor/nest.py b/homeassistant/components/nest/binary_sensor.py similarity index 100% rename from homeassistant/components/binary_sensor/nest.py rename to homeassistant/components/nest/binary_sensor.py diff --git a/homeassistant/components/camera/nest.py b/homeassistant/components/nest/camera.py similarity index 100% rename from homeassistant/components/camera/nest.py rename to homeassistant/components/nest/camera.py diff --git a/homeassistant/components/climate/nest.py b/homeassistant/components/nest/climate.py similarity index 100% rename from homeassistant/components/climate/nest.py rename to homeassistant/components/nest/climate.py diff --git a/homeassistant/components/sensor/nest.py b/homeassistant/components/nest/sensor.py similarity index 100% rename from homeassistant/components/sensor/nest.py rename to homeassistant/components/nest/sensor.py diff --git a/homeassistant/components/device_tracker/owntracks.py b/homeassistant/components/owntracks/device_tracker.py similarity index 100% rename from homeassistant/components/device_tracker/owntracks.py rename to homeassistant/components/owntracks/device_tracker.py diff --git a/homeassistant/components/binary_sensor/point.py b/homeassistant/components/point/binary_sensor.py similarity index 100% rename from homeassistant/components/binary_sensor/point.py rename to homeassistant/components/point/binary_sensor.py diff --git a/homeassistant/components/sensor/point.py b/homeassistant/components/point/sensor.py similarity index 100% rename from homeassistant/components/sensor/point.py rename to homeassistant/components/point/sensor.py diff --git a/homeassistant/components/weather/smhi.py b/homeassistant/components/smhi/weather.py similarity index 100% rename from homeassistant/components/weather/smhi.py rename to homeassistant/components/smhi/weather.py diff --git a/homeassistant/components/media_player/sonos.py b/homeassistant/components/sonos/media_player.py similarity index 100% rename from homeassistant/components/media_player/sonos.py rename to homeassistant/components/sonos/media_player.py diff --git a/homeassistant/components/binary_sensor/tellduslive.py b/homeassistant/components/tellduslive/binary_sensor.py similarity index 100% rename from homeassistant/components/binary_sensor/tellduslive.py rename to homeassistant/components/tellduslive/binary_sensor.py diff --git a/homeassistant/components/cover/tellduslive.py b/homeassistant/components/tellduslive/cover.py similarity index 100% rename from homeassistant/components/cover/tellduslive.py rename to homeassistant/components/tellduslive/cover.py diff --git a/homeassistant/components/light/tellduslive.py b/homeassistant/components/tellduslive/light.py similarity index 100% rename from homeassistant/components/light/tellduslive.py rename to homeassistant/components/tellduslive/light.py diff --git a/homeassistant/components/sensor/tellduslive.py b/homeassistant/components/tellduslive/sensor.py similarity index 100% rename from homeassistant/components/sensor/tellduslive.py rename to homeassistant/components/tellduslive/sensor.py diff --git a/homeassistant/components/switch/tellduslive.py b/homeassistant/components/tellduslive/switch.py similarity index 100% rename from homeassistant/components/switch/tellduslive.py rename to homeassistant/components/tellduslive/switch.py diff --git a/homeassistant/components/light/tradfri.py b/homeassistant/components/tradfri/light.py similarity index 100% rename from homeassistant/components/light/tradfri.py rename to homeassistant/components/tradfri/light.py diff --git a/homeassistant/components/sensor/tradfri.py b/homeassistant/components/tradfri/sensor.py similarity index 100% rename from homeassistant/components/sensor/tradfri.py rename to homeassistant/components/tradfri/sensor.py diff --git a/homeassistant/components/switch/tradfri.py b/homeassistant/components/tradfri/switch.py similarity index 100% rename from homeassistant/components/switch/tradfri.py rename to homeassistant/components/tradfri/switch.py diff --git a/homeassistant/components/device_tracker/unifi.py b/homeassistant/components/unifi/device_tracker.py similarity index 100% rename from homeassistant/components/device_tracker/unifi.py rename to homeassistant/components/unifi/device_tracker.py diff --git a/homeassistant/components/switch/unifi.py b/homeassistant/components/unifi/switch.py similarity index 100% rename from homeassistant/components/switch/unifi.py rename to homeassistant/components/unifi/switch.py diff --git a/homeassistant/components/sensor/upnp.py b/homeassistant/components/upnp/sensor.py similarity index 100% rename from homeassistant/components/sensor/upnp.py rename to homeassistant/components/upnp/sensor.py From e3f21cf74450b4d681946f63a46ee66f670b7c7d Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 31 Jan 2019 13:44:23 -0800 Subject: [PATCH 2/6] Fix tests --- homeassistant/components/light/lutron_caseta.py | 2 +- requirements_all.txt | 4 ++-- requirements_test_all.txt | 2 +- tests/components/cast/test_init.py | 2 +- .../test_cast.py => cast/test_media_player.py} | 14 +++++++------- .../{weather/test_smhi.py => smhi/test_weather.py} | 4 ++-- tests/components/sonos/test_init.py | 2 +- .../test_sonos.py => sonos/test_media_player.py} | 5 +++-- .../test_unifi.py => unifi/test_device_tracker.py} | 7 ++++--- 9 files changed, 22 insertions(+), 20 deletions(-) rename tests/components/{media_player/test_cast.py => cast/test_media_player.py} (97%) rename tests/components/{weather/test_smhi.py => smhi/test_weather.py} (98%) rename tests/components/{media_player/test_sonos.py => sonos/test_media_player.py} (98%) rename tests/components/{device_tracker/test_unifi.py => unifi/test_device_tracker.py} (97%) diff --git a/homeassistant/components/light/lutron_caseta.py b/homeassistant/components/light/lutron_caseta.py index 21360e71c42a04..d454fe3c75ec4a 100644 --- a/homeassistant/components/light/lutron_caseta.py +++ b/homeassistant/components/light/lutron_caseta.py @@ -8,7 +8,7 @@ from homeassistant.components.light import ( ATTR_BRIGHTNESS, SUPPORT_BRIGHTNESS, Light, DOMAIN) -from homeassistant.components.light.lutron import ( +from homeassistant.components.lutron.light import ( to_hass_level, to_lutron_level) from homeassistant.components.lutron_caseta import ( LUTRON_CASETA_SMARTBRIDGE, LutronCasetaDevice) diff --git a/requirements_all.txt b/requirements_all.txt index de8ad8c7914c45..1eca4f750200e3 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -126,7 +126,7 @@ aioimaplib==0.7.13 # homeassistant.components.lifx aiolifx==0.6.7 -# homeassistant.components.light.lifx +# homeassistant.components.lifx.light aiolifx_effects==0.2.1 # homeassistant.components.scene.hunterdouglas_powerview @@ -1392,7 +1392,7 @@ pytradfri[async]==6.0.1 # homeassistant.components.sensor.trafikverket_weatherstation pytrafikverket==0.1.5.8 -# homeassistant.components.device_tracker.unifi +# homeassistant.components.unifi.device_tracker pyunifi==2.16 # homeassistant.components.binary_sensor.uptimerobot diff --git a/requirements_test_all.txt b/requirements_test_all.txt index a56626734eb1fe..8fd0c519aebd52 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -238,7 +238,7 @@ pythonwhois==2.4.3 # homeassistant.components.tradfri pytradfri[async]==6.0.1 -# homeassistant.components.device_tracker.unifi +# homeassistant.components.unifi.device_tracker pyunifi==2.16 # homeassistant.components.notify.html5 diff --git a/tests/components/cast/test_init.py b/tests/components/cast/test_init.py index 0121cd1c79475d..9f8e07809cb3f0 100644 --- a/tests/components/cast/test_init.py +++ b/tests/components/cast/test_init.py @@ -10,7 +10,7 @@ async def test_creating_entry_sets_up_media_player(hass): """Test setting up Cast loads the media player.""" - with patch('homeassistant.components.media_player.cast.async_setup_entry', + with patch('homeassistant.components.cast.media_player.async_setup_entry', return_value=mock_coro(True)) as mock_setup, \ MockDependency('pychromecast', 'discovery'), \ patch('pychromecast.discovery.discover_chromecasts', diff --git a/tests/components/media_player/test_cast.py b/tests/components/cast/test_media_player.py similarity index 97% rename from tests/components/media_player/test_cast.py rename to tests/components/cast/test_media_player.py index 8fd1ae18841185..2e0fe9d1529266 100644 --- a/tests/components/media_player/test_cast.py +++ b/tests/components/cast/test_media_player.py @@ -10,11 +10,11 @@ from homeassistant.exceptions import PlatformNotReady from homeassistant.helpers.typing import HomeAssistantType -from homeassistant.components.media_player.cast import ChromecastInfo +from homeassistant.components.cast.media_player import ChromecastInfo from homeassistant.const import EVENT_HOMEASSISTANT_STOP from homeassistant.helpers.dispatcher import async_dispatcher_connect, \ async_dispatcher_send -from homeassistant.components.media_player import cast +from homeassistant.components.cast import media_player as cast from homeassistant.setup import async_setup_component from tests.common import MockConfigEntry, mock_coro @@ -212,7 +212,7 @@ async def test_create_cast_device_with_uuid(hass): async def test_normal_chromecast_not_starting_discovery(hass): """Test cast platform not starting discovery when not required.""" # pylint: disable=no-member - with patch('homeassistant.components.media_player.cast.' + with patch('homeassistant.components.cast.media_player.' '_setup_internal_discovery') as setup_discovery: # normal (non-group) chromecast shouldn't start discovery. add_entities = await async_setup_cast(hass, {'host': 'host1'}) @@ -369,7 +369,7 @@ async def test_entry_setup_no_config(hass: HomeAssistantType): await async_setup_component(hass, 'cast', {}) with patch( - 'homeassistant.components.media_player.cast._async_setup_platform', + 'homeassistant.components.cast.media_player._async_setup_platform', return_value=mock_coro()) as mock_setup: await cast.async_setup_entry(hass, MockConfigEntry(), None) @@ -388,7 +388,7 @@ async def test_entry_setup_single_config(hass: HomeAssistantType): }) with patch( - 'homeassistant.components.media_player.cast._async_setup_platform', + 'homeassistant.components.cast.media_player._async_setup_platform', return_value=mock_coro()) as mock_setup: await cast.async_setup_entry(hass, MockConfigEntry(), None) @@ -408,7 +408,7 @@ async def test_entry_setup_list_config(hass: HomeAssistantType): }) with patch( - 'homeassistant.components.media_player.cast._async_setup_platform', + 'homeassistant.components.cast.media_player._async_setup_platform', return_value=mock_coro()) as mock_setup: await cast.async_setup_entry(hass, MockConfigEntry(), None) @@ -428,7 +428,7 @@ async def test_entry_setup_platform_not_ready(hass: HomeAssistantType): }) with patch( - 'homeassistant.components.media_player.cast._async_setup_platform', + 'homeassistant.components.cast.media_player._async_setup_platform', return_value=mock_coro(exception=Exception)) as mock_setup: with pytest.raises(PlatformNotReady): await cast.async_setup_entry(hass, MockConfigEntry(), None) diff --git a/tests/components/weather/test_smhi.py b/tests/components/smhi/test_weather.py similarity index 98% rename from tests/components/weather/test_smhi.py rename to tests/components/smhi/test_weather.py index 11a5028842b8a0..aaf22ffce65cb0 100644 --- a/tests/components/weather/test_smhi.py +++ b/tests/components/smhi/test_weather.py @@ -9,8 +9,8 @@ ATTR_WEATHER_TEMPERATURE, ATTR_WEATHER_HUMIDITY, ATTR_WEATHER_PRESSURE, ATTR_FORECAST_TEMP_LOW, ATTR_WEATHER_VISIBILITY, ATTR_WEATHER_ATTRIBUTION, ATTR_WEATHER_WIND_BEARING, ATTR_WEATHER_WIND_SPEED, - ATTR_FORECAST_PRECIPITATION, smhi as weather_smhi, - DOMAIN as WEATHER_DOMAIN) + ATTR_FORECAST_PRECIPITATION, DOMAIN as WEATHER_DOMAIN) +from homeassistant.components.smhi import weather as weather_smhi from homeassistant.const import TEMP_CELSIUS from homeassistant.core import HomeAssistant diff --git a/tests/components/sonos/test_init.py b/tests/components/sonos/test_init.py index 8d46f4d57a39ab..a09fa7d2615c4f 100644 --- a/tests/components/sonos/test_init.py +++ b/tests/components/sonos/test_init.py @@ -10,7 +10,7 @@ async def test_creating_entry_sets_up_media_player(hass): """Test setting up Sonos loads the media player.""" - with patch('homeassistant.components.media_player.sonos.async_setup_entry', + with patch('homeassistant.components.sonos.media_player.async_setup_entry', return_value=mock_coro(True)) as mock_setup, \ patch('pysonos.discover', return_value=True): result = await hass.config_entries.flow.async_init( diff --git a/tests/components/media_player/test_sonos.py b/tests/components/sonos/test_media_player.py similarity index 98% rename from tests/components/media_player/test_sonos.py rename to tests/components/sonos/test_media_player.py index bf81aee5982652..79eab1c16996e9 100644 --- a/tests/components/media_player/test_sonos.py +++ b/tests/components/sonos/test_media_player.py @@ -8,8 +8,9 @@ from pysonos import alarms from homeassistant.setup import setup_component -from homeassistant.components.media_player import sonos, DOMAIN -from homeassistant.components.media_player.sonos import CONF_INTERFACE_ADDR +from homeassistant.components.sonos import media_player as sonos +from homeassistant.components.media_player import DOMAIN +from homeassistant.components.sonos.media_player import CONF_INTERFACE_ADDR from homeassistant.const import CONF_HOSTS, CONF_PLATFORM from tests.common import get_test_home_assistant diff --git a/tests/components/device_tracker/test_unifi.py b/tests/components/unifi/test_device_tracker.py similarity index 97% rename from tests/components/device_tracker/test_unifi.py rename to tests/components/unifi/test_device_tracker.py index 33adff9adf816f..e03a663aa387fc 100644 --- a/tests/components/device_tracker/test_unifi.py +++ b/tests/components/unifi/test_device_tracker.py @@ -8,7 +8,8 @@ import pytest import voluptuous as vol -from homeassistant.components.device_tracker import DOMAIN, unifi as unifi +from homeassistant.components.unifi import device_tracker as unifi +from homeassistant.components.device_tracker import DOMAIN from homeassistant.const import (CONF_HOST, CONF_USERNAME, CONF_PASSWORD, CONF_PLATFORM, CONF_VERIFY_SSL, CONF_MONITORED_CONDITIONS) @@ -25,8 +26,8 @@ def mock_ctrl(): @pytest.fixture def mock_scanner(): """Mock UnifyScanner.""" - with mock.patch('homeassistant.components.device_tracker' - '.unifi.UnifiScanner') as scanner: + with mock.patch('homeassistant.components.unifi.device_tracker' + '.UnifiScanner') as scanner: yield scanner From ecae973287dd43bcd306c6def89864b985e969a0 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 31 Jan 2019 14:34:32 -0800 Subject: [PATCH 3/6] Fix tests --- tests/components/device_tracker/test_mqtt.py | 2 +- .../device_tracker/test_owntracks.py | 20 +++++++++---------- tests/components/ios/test_init.py | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/tests/components/device_tracker/test_mqtt.py b/tests/components/device_tracker/test_mqtt.py index abfa32ca06bbde..3e584aa541cfe1 100644 --- a/tests/components/device_tracker/test_mqtt.py +++ b/tests/components/device_tracker/test_mqtt.py @@ -30,7 +30,7 @@ async def mock_setup_scanner(hass, config, see, discovery_info=None): """Check that Qos was added by validation.""" assert 'qos' in config - with patch('homeassistant.components.device_tracker.mqtt.' + with patch('homeassistant.components.mqtt.device_tracker.' 'async_setup_scanner', autospec=True, side_effect=mock_setup_scanner) as mock_sp: diff --git a/tests/components/device_tracker/test_owntracks.py b/tests/components/device_tracker/test_owntracks.py index 79d0bdb6f73cec..5e65e0a75c77b5 100644 --- a/tests/components/device_tracker/test_owntracks.py +++ b/tests/components/device_tracker/test_owntracks.py @@ -1273,8 +1273,8 @@ async def test_single_waypoint_import(hass, context): async def test_not_implemented_message(hass, context): """Handle not implemented message type.""" - patch_handler = patch('homeassistant.components.device_tracker.' - 'owntracks.async_handle_not_impl_msg', + patch_handler = patch('homeassistant.components.owntracks.' + 'device_tracker.async_handle_not_impl_msg', return_value=mock_coro(False)) patch_handler.start() assert not await send_message(hass, LWT_TOPIC, LWT_MESSAGE) @@ -1283,8 +1283,8 @@ async def test_not_implemented_message(hass, context): async def test_unsupported_message(hass, context): """Handle not implemented message type.""" - patch_handler = patch('homeassistant.components.device_tracker.' - 'owntracks.async_handle_unsupported_msg', + patch_handler = patch('homeassistant.components.owntracks.' + 'device_tracker.async_handle_unsupported_msg', return_value=mock_coro(False)) patch_handler.start() assert not await send_message(hass, BAD_TOPIC, BAD_MESSAGE) @@ -1366,7 +1366,7 @@ def config_context(hass, setup_comp): patch_save.stop() -@patch('homeassistant.components.device_tracker.owntracks.get_cipher', +@patch('homeassistant.components.owntracks.device_tracker.get_cipher', mock_cipher) async def test_encrypted_payload(hass, config_context): """Test encrypted payload.""" @@ -1377,7 +1377,7 @@ async def test_encrypted_payload(hass, config_context): assert_location_latitude(hass, LOCATION_MESSAGE['lat']) -@patch('homeassistant.components.device_tracker.owntracks.get_cipher', +@patch('homeassistant.components.owntracks.device_tracker.get_cipher', mock_cipher) async def test_encrypted_payload_topic_key(hass, config_context): """Test encrypted payload with a topic key.""" @@ -1390,7 +1390,7 @@ async def test_encrypted_payload_topic_key(hass, config_context): assert_location_latitude(hass, LOCATION_MESSAGE['lat']) -@patch('homeassistant.components.device_tracker.owntracks.get_cipher', +@patch('homeassistant.components.owntracks.device_tracker.get_cipher', mock_cipher) async def test_encrypted_payload_no_key(hass, config_context): """Test encrypted payload with no key, .""" @@ -1403,7 +1403,7 @@ async def test_encrypted_payload_no_key(hass, config_context): assert hass.states.get(DEVICE_TRACKER_STATE) is None -@patch('homeassistant.components.device_tracker.owntracks.get_cipher', +@patch('homeassistant.components.owntracks.device_tracker.get_cipher', mock_cipher) async def test_encrypted_payload_wrong_key(hass, config_context): """Test encrypted payload with wrong key.""" @@ -1414,7 +1414,7 @@ async def test_encrypted_payload_wrong_key(hass, config_context): assert hass.states.get(DEVICE_TRACKER_STATE) is None -@patch('homeassistant.components.device_tracker.owntracks.get_cipher', +@patch('homeassistant.components.owntracks.device_tracker.get_cipher', mock_cipher) async def test_encrypted_payload_wrong_topic_key(hass, config_context): """Test encrypted payload with wrong topic key.""" @@ -1427,7 +1427,7 @@ async def test_encrypted_payload_wrong_topic_key(hass, config_context): assert hass.states.get(DEVICE_TRACKER_STATE) is None -@patch('homeassistant.components.device_tracker.owntracks.get_cipher', +@patch('homeassistant.components.owntracks.device_tracker.get_cipher', mock_cipher) async def test_encrypted_payload_no_topic_key(hass, config_context): """Test encrypted payload with no topic key.""" diff --git a/tests/components/ios/test_init.py b/tests/components/ios/test_init.py index ad1ab32832506f..7141c8c9d3a74f 100644 --- a/tests/components/ios/test_init.py +++ b/tests/components/ios/test_init.py @@ -26,7 +26,7 @@ def mock_dependencies(hass): async def test_creating_entry_sets_up_sensor(hass): """Test setting up iOS loads the sensor component.""" - with patch('homeassistant.components.sensor.ios.async_setup_entry', + with patch('homeassistant.components.ios.sensor.async_setup_entry', return_value=mock_coro(True)) as mock_setup: result = await hass.config_entries.flow.async_init( ios.DOMAIN, context={'source': config_entries.SOURCE_USER}) From 746ca37ebd6e4b41bf0a4648227ba40a4e635c01 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 31 Jan 2019 14:36:38 -0800 Subject: [PATCH 4/6] Put unifi back --- .../{unifi/device_tracker.py => device_tracker/unifi.py} | 0 .../test_device_tracker.py => device_tracker/test_unifi.py} | 5 ++--- 2 files changed, 2 insertions(+), 3 deletions(-) rename homeassistant/components/{unifi/device_tracker.py => device_tracker/unifi.py} (100%) rename tests/components/{unifi/test_device_tracker.py => device_tracker/test_unifi.py} (97%) diff --git a/homeassistant/components/unifi/device_tracker.py b/homeassistant/components/device_tracker/unifi.py similarity index 100% rename from homeassistant/components/unifi/device_tracker.py rename to homeassistant/components/device_tracker/unifi.py diff --git a/tests/components/unifi/test_device_tracker.py b/tests/components/device_tracker/test_unifi.py similarity index 97% rename from tests/components/unifi/test_device_tracker.py rename to tests/components/device_tracker/test_unifi.py index e03a663aa387fc..b3ce1e93e4cf61 100644 --- a/tests/components/unifi/test_device_tracker.py +++ b/tests/components/device_tracker/test_unifi.py @@ -8,8 +8,7 @@ import pytest import voluptuous as vol -from homeassistant.components.unifi import device_tracker as unifi -from homeassistant.components.device_tracker import DOMAIN +from homeassistant.components.device_tracker import DOMAIN, unifi as unifi from homeassistant.const import (CONF_HOST, CONF_USERNAME, CONF_PASSWORD, CONF_PLATFORM, CONF_VERIFY_SSL, CONF_MONITORED_CONDITIONS) @@ -26,7 +25,7 @@ def mock_ctrl(): @pytest.fixture def mock_scanner(): """Mock UnifyScanner.""" - with mock.patch('homeassistant.components.unifi.device_tracker' + with mock.patch('homeassistant.components.device_tracker.unifi' '.UnifiScanner') as scanner: yield scanner From 5ea450985115f0bbd49d8213f985409e37e1de7a Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 1 Feb 2019 09:51:02 -0800 Subject: [PATCH 5/6] Fix reqs --- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements_all.txt b/requirements_all.txt index 1eca4f750200e3..212ccfcc97f319 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1392,7 +1392,7 @@ pytradfri[async]==6.0.1 # homeassistant.components.sensor.trafikverket_weatherstation pytrafikverket==0.1.5.8 -# homeassistant.components.unifi.device_tracker +# homeassistant.components.device_tracker.unifi pyunifi==2.16 # homeassistant.components.binary_sensor.uptimerobot diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 8fd0c519aebd52..a56626734eb1fe 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -238,7 +238,7 @@ pythonwhois==2.4.3 # homeassistant.components.tradfri pytradfri[async]==6.0.1 -# homeassistant.components.unifi.device_tracker +# homeassistant.components.device_tracker.unifi pyunifi==2.16 # homeassistant.components.notify.html5 From b160bfcde11afb071607b855750d9b9ce7ebbb22 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 1 Feb 2019 14:28:25 -0800 Subject: [PATCH 6/6] Update coveragerc --- .coveragerc | 54 ++++++++++++++++++++--------------------------------- 1 file changed, 20 insertions(+), 34 deletions(-) diff --git a/.coveragerc b/.coveragerc index f1ff7715580194..d36358877cfc18 100644 --- a/.coveragerc +++ b/.coveragerc @@ -19,8 +19,7 @@ omit = homeassistant/components/alarmdecoder.py homeassistant/components/*/alarmdecoder.py - homeassistant/components/ambient_station/__init__.py - homeassistant/components/ambient_station/sensor.py + homeassistant/components/ambient_station/* homeassistant/components/amcrest.py homeassistant/components/*/amcrest.py @@ -69,16 +68,13 @@ omit = homeassistant/components/sensor/coinbase.py homeassistant/components/cast/* - homeassistant/components/*/cast.py homeassistant/components/cloudflare.py homeassistant/components/comfoconnect.py homeassistant/components/*/comfoconnect.py - homeassistant/components/daikin/__init__.py - homeassistant/components/daikin/const.py - homeassistant/components/*/daikin.py + homeassistant/components/daikin/* homeassistant/components/digital_ocean.py homeassistant/components/*/digital_ocean.py @@ -178,9 +174,7 @@ omit = homeassistant/components/homematic/__init__.py homeassistant/components/*/homematic.py - homeassistant/components/homematicip_cloud/hap.py - homeassistant/components/homematicip_cloud/device.py - homeassistant/components/*/homematicip_cloud.py + homeassistant/components/homematicip_cloud/* homeassistant/components/homeworks.py homeassistant/components/*/homeworks.py @@ -191,6 +185,8 @@ omit = homeassistant/components/hydrawise.py homeassistant/components/*/hydrawise.py + homeassistant/components/ifttt/* + homeassistant/components/ihc/* homeassistant/components/*/ihc.py @@ -201,8 +197,7 @@ omit = homeassistant/components/insteon_plm.py - homeassistant/components/ios.py - homeassistant/components/*/ios.py + homeassistant/components/ios/* homeassistant/components/iota.py homeassistant/components/*/iota.py @@ -231,15 +226,19 @@ omit = homeassistant/components/lcn.py homeassistant/components/*/lcn.py - homeassistant/components/linode.py - homeassistant/components/*/linode.py + homeassistant/components/lifx/* homeassistant/components/lightwave.py homeassistant/components/*/lightwave.py + homeassistant/components/linode.py + homeassistant/components/*/linode.py + homeassistant/components/logi_circle.py homeassistant/components/*/logi_circle.py + homeassistant/components/luftdaten/* + homeassistant/components/lupusec.py homeassistant/components/*/lupusec.py @@ -272,8 +271,7 @@ omit = homeassistant/components/neato.py homeassistant/components/*/neato.py - homeassistant/components/nest/__init__.py - homeassistant/components/*/nest.py + homeassistant/components/nest/* homeassistant/components/netatmo.py homeassistant/components/*/netatmo.py @@ -300,9 +298,7 @@ omit = homeassistant/components/pilight.py homeassistant/components/*/pilight.py - homeassistant/components/point/__init__.py - homeassistant/components/point/const.py - homeassistant/components/*/point.py + homeassistant/components/point/* homeassistant/components/switch/qwikswitch.py homeassistant/components/light/qwikswitch.py @@ -359,8 +355,7 @@ omit = homeassistant/components/smappee.py homeassistant/components/*/smappee.py - homeassistant/components/sonos/__init__.py - homeassistant/components/*/sonos.py + homeassistant/components/sonos/* homeassistant/components/tado.py homeassistant/components/*/tado.py @@ -368,9 +363,7 @@ omit = homeassistant/components/tahoma.py homeassistant/components/*/tahoma.py - homeassistant/components/tellduslive/__init__.py - homeassistant/components/tellduslive/entry.py - homeassistant/components/*/tellduslive.py + homeassistant/components/tellduslive/* homeassistant/components/tellstick.py homeassistant/components/*/tellstick.py @@ -392,15 +385,16 @@ omit = homeassistant/components/tplink_lte.py homeassistant/components/*/tplink_lte.py - homeassistant/components/tradfri.py - homeassistant/components/*/tradfri.py - + homeassistant/components/tradfri/* + homeassistant/components/transmission.py homeassistant/components/*/transmission.py homeassistant/components/notify/twilio_sms.py homeassistant/components/notify/twilio_call.py + homeassistant/components/upnp.py + homeassistant/components/upcloud.py homeassistant/components/*/upcloud.py @@ -463,7 +457,6 @@ omit = homeassistant/components/zha/core/device.py homeassistant/components/zha/core/listeners.py homeassistant/components/zha/core/gateway.py - homeassistant/components/*/zha.py homeassistant/components/zigbee.py homeassistant/components/*/zigbee.py @@ -482,7 +475,6 @@ omit = homeassistant/components/alarm_control_panel/canary.py homeassistant/components/alarm_control_panel/concord232.py homeassistant/components/alarm_control_panel/ialarm.py - homeassistant/components/alarm_control_panel/ifttt.py homeassistant/components/alarm_control_panel/manual_mqtt.py homeassistant/components/alarm_control_panel/nx584.py homeassistant/components/alarm_control_panel/totalconnect.py @@ -582,13 +574,11 @@ omit = homeassistant/components/downloader.py homeassistant/components/emoncms_history.py homeassistant/components/emulated_hue/upnp.py - homeassistant/components/fan/mqtt.py homeassistant/components/fan/wemo.py homeassistant/components/folder_watcher.py homeassistant/components/foursquare.py homeassistant/components/goalfeed.py homeassistant/components/idteck_prox.py - homeassistant/components/ifttt.py homeassistant/components/image_processing/dlib_face_detect.py homeassistant/components/image_processing/dlib_face_identify.py homeassistant/components/image_processing/seven_segments.py @@ -609,7 +599,6 @@ omit = homeassistant/components/light/hyperion.py homeassistant/components/light/iglo.py homeassistant/components/light/lifx_legacy.py - homeassistant/components/light/lifx.py homeassistant/components/light/limitlessled.py homeassistant/components/light/lw12wifi.py homeassistant/components/light/mystrom.py @@ -799,7 +788,6 @@ omit = homeassistant/components/sensor/haveibeenpwned.py homeassistant/components/sensor/hp_ilo.py homeassistant/components/sensor/htu21d.py - homeassistant/components/sensor/upnp.py homeassistant/components/sensor/iliad_italy.py homeassistant/components/sensor/imap_email_content.py homeassistant/components/sensor/imap.py @@ -814,7 +802,6 @@ omit = homeassistant/components/sensor/linux_battery.py homeassistant/components/sensor/london_underground.py homeassistant/components/sensor/loopenergy.py - homeassistant/components/sensor/luftdaten.py homeassistant/components/sensor/lyft.py homeassistant/components/sensor/magicseaweed.py homeassistant/components/sensor/meteo_france.py @@ -947,7 +934,6 @@ omit = homeassistant/components/tts/baidu.py homeassistant/components/tts/microsoft.py homeassistant/components/tts/picotts.py - homeassistant/components/vacuum/mqtt.py homeassistant/components/vacuum/roomba.py homeassistant/components/water_heater/econet.py homeassistant/components/watson_iot.py