From 1ddc249989e415688ea01b011bd6b06e1dacea27 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 23 Mar 2019 20:22:35 -0700 Subject: [PATCH] Consolidate more platforms (#22308) * Consolidate final platforms * Fix some tests * Fix more tests * Fix more tests --- .../components/demo/alarm_control_panel.py | 4 +- .../{calendar/demo.py => demo/calendar.py} | 2 +- .../{camera/demo.py => demo/camera.py} | 2 +- .../{climate/demo.py => demo/climate.py} | 4 +- .../{cover/demo.py => demo/cover.py} | 2 +- .../components/{camera => demo}/demo_0.jpg | Bin .../components/{camera => demo}/demo_1.jpg | Bin .../components/{camera => demo}/demo_2.jpg | Bin .../components/{camera => demo}/demo_3.jpg | Bin .../components/{fan/demo.py => demo/fan.py} | 2 +- .../demo.py => demo/geo_location.py} | 2 +- .../{light/demo.py => demo/light.py} | 2 +- .../components/{lock/demo.py => demo/lock.py} | 2 +- .../demo.py => demo/media_player.py} | 4 +- .../{vacuum/demo.py => demo/vacuum.py} | 2 +- .../demo.py => demo/water_heater.py} | 2 +- .../components/generic_thermostat/__init__.py | 1 + .../climate.py} | 4 +- .../{cover/group.py => group/cover.py} | 2 +- .../{light/group.py => group/light.py} | 2 +- .../alarm_control_panel.py} | 0 .../alarm_control_panel.py} | 0 .../{light/switch.py => switch/light.py} | 2 +- script/gen_requirements_all.py | 2 +- tests/components/camera/test_init.py | 8 +-- .../test_demo.py => demo/test_calendar.py} | 0 .../test_demo.py => demo/test_camera.py} | 2 +- .../test_demo.py => demo/test_climate.py} | 0 .../test_demo.py => demo/test_cover.py} | 0 .../{fan/test_demo.py => demo/test_fan.py} | 0 .../test_geo_location.py} | 2 +- .../test_demo.py => demo/test_light.py} | 0 .../{lock/test_demo.py => demo/test_lock.py} | 0 .../test_media_player.py} | 2 +- .../test_demo.py => demo/test_vacuum.py} | 2 +- .../test_water_heater.py} | 0 .../facebox/test_image_processing.py | 2 +- .../test_climate.py} | 0 .../google_assistant/test_smart_home.py | 2 +- .../test_group.py => group/test_cover.py} | 2 +- .../test_group.py => group/test_light.py} | 2 +- .../components/image_processing/test_init.py | 2 +- .../test_alarm_control_panel.py} | 60 ++++++++-------- .../test_alarm_control_panel.py} | 66 +++++++++--------- .../test_switch.py => switch/test_light.py} | 0 45 files changed, 98 insertions(+), 97 deletions(-) rename homeassistant/components/{calendar/demo.py => demo/calendar.py} (97%) rename homeassistant/components/{camera/demo.py => demo/camera.py} (97%) rename homeassistant/components/{climate/demo.py => demo/climate.py} (98%) rename homeassistant/components/{cover/demo.py => demo/cover.py} (99%) rename homeassistant/components/{camera => demo}/demo_0.jpg (100%) rename homeassistant/components/{camera => demo}/demo_1.jpg (100%) rename homeassistant/components/{camera => demo}/demo_2.jpg (100%) rename homeassistant/components/{camera => demo}/demo_3.jpg (100%) rename homeassistant/components/{fan/demo.py => demo/fan.py} (98%) rename homeassistant/components/{geo_location/demo.py => demo/geo_location.py} (98%) rename homeassistant/components/{light/demo.py => demo/light.py} (98%) rename homeassistant/components/{lock/demo.py => demo/lock.py} (96%) rename homeassistant/components/{media_player/demo.py => demo/media_player.py} (99%) rename homeassistant/components/{vacuum/demo.py => demo/vacuum.py} (99%) rename homeassistant/components/{water_heater/demo.py => demo/water_heater.py} (98%) create mode 100644 homeassistant/components/generic_thermostat/__init__.py rename homeassistant/components/{climate/generic_thermostat.py => generic_thermostat/climate.py} (99%) rename homeassistant/components/{cover/group.py => group/cover.py} (99%) rename homeassistant/components/{light/group.py => group/light.py} (99%) rename homeassistant/components/{alarm_control_panel/manual.py => manual/alarm_control_panel.py} (100%) rename homeassistant/components/{alarm_control_panel/manual_mqtt.py => manual_mqtt/alarm_control_panel.py} (100%) rename homeassistant/components/{light/switch.py => switch/light.py} (98%) rename tests/components/{calendar/test_demo.py => demo/test_calendar.py} (100%) rename tests/components/{camera/test_demo.py => demo/test_camera.py} (97%) rename tests/components/{climate/test_demo.py => demo/test_climate.py} (100%) rename tests/components/{cover/test_demo.py => demo/test_cover.py} (100%) rename tests/components/{fan/test_demo.py => demo/test_fan.py} (100%) rename tests/components/{geo_location/test_demo.py => demo/test_geo_location.py} (97%) rename tests/components/{light/test_demo.py => demo/test_light.py} (100%) rename tests/components/{lock/test_demo.py => demo/test_lock.py} (100%) rename tests/components/{media_player/test_demo.py => demo/test_media_player.py} (99%) rename tests/components/{vacuum/test_demo.py => demo/test_vacuum.py} (99%) rename tests/components/{water_heater/test_demo.py => demo/test_water_heater.py} (100%) rename tests/components/{climate/test_generic_thermostat.py => generic_thermostat/test_climate.py} (100%) rename tests/components/{cover/test_group.py => group/test_cover.py} (99%) rename tests/components/{light/test_group.py => group/test_light.py} (99%) rename tests/components/{alarm_control_panel/test_manual.py => manual/test_alarm_control_panel.py} (95%) rename tests/components/{alarm_control_panel/test_manual_mqtt.py => manual_mqtt/test_alarm_control_panel.py} (95%) rename tests/components/{light/test_switch.py => switch/test_light.py} (100%) diff --git a/homeassistant/components/demo/alarm_control_panel.py b/homeassistant/components/demo/alarm_control_panel.py index fb4dccc1c86..4d317f52daa 100644 --- a/homeassistant/components/demo/alarm_control_panel.py +++ b/homeassistant/components/demo/alarm_control_panel.py @@ -5,7 +5,7 @@ For more details about this platform, please refer to the documentation https://home-assistant.io/components/demo/ """ import datetime -from homeassistant.components.alarm_control_panel import manual +from homeassistant.components.manual.alarm_control_panel import ManualAlarm from homeassistant.const import ( STATE_ALARM_ARMED_AWAY, STATE_ALARM_ARMED_CUSTOM_BYPASS, STATE_ALARM_ARMED_HOME, STATE_ALARM_ARMED_NIGHT, @@ -17,7 +17,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=None): """Set up the Demo alarm control panel platform.""" async_add_entities([ - manual.ManualAlarm(hass, 'Alarm', '1234', None, False, { + ManualAlarm(hass, 'Alarm', '1234', None, False, { STATE_ALARM_ARMED_AWAY: { CONF_DELAY_TIME: datetime.timedelta(seconds=0), CONF_PENDING_TIME: datetime.timedelta(seconds=5), diff --git a/homeassistant/components/calendar/demo.py b/homeassistant/components/demo/calendar.py similarity index 97% rename from homeassistant/components/calendar/demo.py rename to homeassistant/components/demo/calendar.py index bd5724ca455..720b4cc5180 100644 --- a/homeassistant/components/calendar/demo.py +++ b/homeassistant/components/demo/calendar.py @@ -9,7 +9,7 @@ import copy from homeassistant.components.google import CONF_DEVICE_ID, CONF_NAME import homeassistant.util.dt as dt_util -from . import CalendarEventDevice, get_date +from homeassistant.components.calendar import CalendarEventDevice, get_date def setup_platform(hass, config, add_entities, discovery_info=None): diff --git a/homeassistant/components/camera/demo.py b/homeassistant/components/demo/camera.py similarity index 97% rename from homeassistant/components/camera/demo.py rename to homeassistant/components/demo/camera.py index f9be3f47c35..34a0894ac60 100644 --- a/homeassistant/components/camera/demo.py +++ b/homeassistant/components/demo/camera.py @@ -7,7 +7,7 @@ https://home-assistant.io/components/demo/ import logging import os -from . import SUPPORT_ON_OFF, Camera +from homeassistant.components.camera import SUPPORT_ON_OFF, Camera _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/climate/demo.py b/homeassistant/components/demo/climate.py similarity index 98% rename from homeassistant/components/climate/demo.py rename to homeassistant/components/demo/climate.py index 2dd31c1b20d..b1dd1b0ba45 100644 --- a/homeassistant/components/climate/demo.py +++ b/homeassistant/components/demo/climate.py @@ -6,8 +6,8 @@ https://home-assistant.io/components/demo/ """ from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS, TEMP_FAHRENHEIT -from . import ClimateDevice -from .const import ( +from homeassistant.components.climate import ClimateDevice +from homeassistant.components.climate.const import ( ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW, SUPPORT_AUX_HEAT, SUPPORT_AWAY_MODE, SUPPORT_FAN_MODE, SUPPORT_HOLD_MODE, SUPPORT_ON_OFF, SUPPORT_OPERATION_MODE, SUPPORT_SWING_MODE, SUPPORT_TARGET_HUMIDITY, diff --git a/homeassistant/components/cover/demo.py b/homeassistant/components/demo/cover.py similarity index 99% rename from homeassistant/components/cover/demo.py rename to homeassistant/components/demo/cover.py index 1f31cecc996..ddcf07fd5e5 100644 --- a/homeassistant/components/cover/demo.py +++ b/homeassistant/components/demo/cover.py @@ -6,7 +6,7 @@ https://home-assistant.io/components/demo/ """ from homeassistant.helpers.event import track_utc_time_change -from . import ( +from homeassistant.components.cover import ( ATTR_POSITION, ATTR_TILT_POSITION, SUPPORT_CLOSE, SUPPORT_OPEN, CoverDevice) diff --git a/homeassistant/components/camera/demo_0.jpg b/homeassistant/components/demo/demo_0.jpg similarity index 100% rename from homeassistant/components/camera/demo_0.jpg rename to homeassistant/components/demo/demo_0.jpg diff --git a/homeassistant/components/camera/demo_1.jpg b/homeassistant/components/demo/demo_1.jpg similarity index 100% rename from homeassistant/components/camera/demo_1.jpg rename to homeassistant/components/demo/demo_1.jpg diff --git a/homeassistant/components/camera/demo_2.jpg b/homeassistant/components/demo/demo_2.jpg similarity index 100% rename from homeassistant/components/camera/demo_2.jpg rename to homeassistant/components/demo/demo_2.jpg diff --git a/homeassistant/components/camera/demo_3.jpg b/homeassistant/components/demo/demo_3.jpg similarity index 100% rename from homeassistant/components/camera/demo_3.jpg rename to homeassistant/components/demo/demo_3.jpg diff --git a/homeassistant/components/fan/demo.py b/homeassistant/components/demo/fan.py similarity index 98% rename from homeassistant/components/fan/demo.py rename to homeassistant/components/demo/fan.py index e67fbef650e..53729795f71 100644 --- a/homeassistant/components/fan/demo.py +++ b/homeassistant/components/demo/fan.py @@ -6,7 +6,7 @@ https://home-assistant.io/components/demo/ """ from homeassistant.const import STATE_OFF -from . import ( +from homeassistant.components.fan import ( SPEED_HIGH, SPEED_LOW, SPEED_MEDIUM, SUPPORT_DIRECTION, SUPPORT_OSCILLATE, SUPPORT_SET_SPEED, FanEntity) diff --git a/homeassistant/components/geo_location/demo.py b/homeassistant/components/demo/geo_location.py similarity index 98% rename from homeassistant/components/geo_location/demo.py rename to homeassistant/components/demo/geo_location.py index d63280ce609..6b91faac92f 100644 --- a/homeassistant/components/geo_location/demo.py +++ b/homeassistant/components/demo/geo_location.py @@ -7,7 +7,7 @@ from typing import Optional from homeassistant.helpers.event import track_time_interval -from . import GeolocationEvent +from homeassistant.components.geo_location import GeolocationEvent _LOGGER = logging.getLogger(__name__) diff --git a/homeassistant/components/light/demo.py b/homeassistant/components/demo/light.py similarity index 98% rename from homeassistant/components/light/demo.py rename to homeassistant/components/demo/light.py index d9affb03db3..a5b22108e81 100644 --- a/homeassistant/components/light/demo.py +++ b/homeassistant/components/demo/light.py @@ -6,7 +6,7 @@ https://home-assistant.io/components/demo/ """ import random -from . import ( +from homeassistant.components.light import ( ATTR_BRIGHTNESS, ATTR_COLOR_TEMP, ATTR_EFFECT, ATTR_HS_COLOR, ATTR_WHITE_VALUE, SUPPORT_BRIGHTNESS, SUPPORT_COLOR, SUPPORT_COLOR_TEMP, SUPPORT_EFFECT, SUPPORT_WHITE_VALUE, Light) diff --git a/homeassistant/components/lock/demo.py b/homeassistant/components/demo/lock.py similarity index 96% rename from homeassistant/components/lock/demo.py rename to homeassistant/components/demo/lock.py index 94a67fb87f6..03935c4f603 100644 --- a/homeassistant/components/lock/demo.py +++ b/homeassistant/components/demo/lock.py @@ -6,7 +6,7 @@ https://home-assistant.io/components/demo/ """ from homeassistant.const import STATE_LOCKED, STATE_UNLOCKED -from . import SUPPORT_OPEN, LockDevice +from homeassistant.components.lock import SUPPORT_OPEN, LockDevice def setup_platform(hass, config, add_entities, discovery_info=None): diff --git a/homeassistant/components/media_player/demo.py b/homeassistant/components/demo/media_player.py similarity index 99% rename from homeassistant/components/media_player/demo.py rename to homeassistant/components/demo/media_player.py index 070701f6322..33d2b98d225 100644 --- a/homeassistant/components/media_player/demo.py +++ b/homeassistant/components/demo/media_player.py @@ -7,8 +7,8 @@ https://home-assistant.io/components/demo/ from homeassistant.const import STATE_OFF, STATE_PAUSED, STATE_PLAYING import homeassistant.util.dt as dt_util -from . import MediaPlayerDevice -from .const import ( +from homeassistant.components.media_player import MediaPlayerDevice +from homeassistant.components.media_player.const import ( MEDIA_TYPE_MOVIE, MEDIA_TYPE_MUSIC, MEDIA_TYPE_TVSHOW, SUPPORT_CLEAR_PLAYLIST, SUPPORT_NEXT_TRACK, SUPPORT_PAUSE, SUPPORT_PLAY, SUPPORT_PLAY_MEDIA, SUPPORT_PREVIOUS_TRACK, SUPPORT_SELECT_SOUND_MODE, diff --git a/homeassistant/components/vacuum/demo.py b/homeassistant/components/demo/vacuum.py similarity index 99% rename from homeassistant/components/vacuum/demo.py rename to homeassistant/components/demo/vacuum.py index 2a19337c0db..5ec7030f56c 100644 --- a/homeassistant/components/vacuum/demo.py +++ b/homeassistant/components/demo/vacuum.py @@ -6,7 +6,7 @@ https://home-assistant.io/components/demo/ """ import logging -from . import ( +from homeassistant.components.vacuum import ( ATTR_CLEANED_AREA, STATE_CLEANING, STATE_DOCKED, STATE_IDLE, STATE_PAUSED, STATE_RETURNING, SUPPORT_BATTERY, SUPPORT_CLEAN_SPOT, SUPPORT_FAN_SPEED, SUPPORT_LOCATE, SUPPORT_PAUSE, SUPPORT_RETURN_HOME, SUPPORT_SEND_COMMAND, diff --git a/homeassistant/components/water_heater/demo.py b/homeassistant/components/demo/water_heater.py similarity index 98% rename from homeassistant/components/water_heater/demo.py rename to homeassistant/components/demo/water_heater.py index 37ae535cdfc..6ee17bf0088 100644 --- a/homeassistant/components/water_heater/demo.py +++ b/homeassistant/components/demo/water_heater.py @@ -1,7 +1,7 @@ """Demo platform that offers a fake water heater device.""" from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS, TEMP_FAHRENHEIT -from . import ( +from homeassistant.components.water_heater import ( SUPPORT_AWAY_MODE, SUPPORT_OPERATION_MODE, SUPPORT_TARGET_TEMPERATURE, WaterHeaterDevice) diff --git a/homeassistant/components/generic_thermostat/__init__.py b/homeassistant/components/generic_thermostat/__init__.py new file mode 100644 index 00000000000..d0bc392e4f4 --- /dev/null +++ b/homeassistant/components/generic_thermostat/__init__.py @@ -0,0 +1 @@ +"""The generic_thermostat component.""" diff --git a/homeassistant/components/climate/generic_thermostat.py b/homeassistant/components/generic_thermostat/climate.py similarity index 99% rename from homeassistant/components/climate/generic_thermostat.py rename to homeassistant/components/generic_thermostat/climate.py index af0a3eea6ab..1eb0f8e79db 100644 --- a/homeassistant/components/climate/generic_thermostat.py +++ b/homeassistant/components/generic_thermostat/climate.py @@ -20,8 +20,8 @@ from homeassistant.helpers.event import ( async_track_state_change, async_track_time_interval) from homeassistant.helpers.restore_state import RestoreEntity -from . import PLATFORM_SCHEMA, ClimateDevice -from .const import ( +from homeassistant.components.climate import PLATFORM_SCHEMA, ClimateDevice +from homeassistant.components.climate.const import ( ATTR_AWAY_MODE, ATTR_OPERATION_MODE, STATE_AUTO, STATE_COOL, STATE_HEAT, STATE_IDLE, SUPPORT_AWAY_MODE, SUPPORT_OPERATION_MODE, SUPPORT_TARGET_TEMPERATURE) diff --git a/homeassistant/components/cover/group.py b/homeassistant/components/group/cover.py similarity index 99% rename from homeassistant/components/cover/group.py rename to homeassistant/components/group/cover.py index aba57284da8..c1825211433 100644 --- a/homeassistant/components/cover/group.py +++ b/homeassistant/components/group/cover.py @@ -15,7 +15,7 @@ from homeassistant.core import callback import homeassistant.helpers.config_validation as cv from homeassistant.helpers.event import async_track_state_change -from . import ( +from homeassistant.components.cover import ( ATTR_CURRENT_POSITION, ATTR_CURRENT_TILT_POSITION, ATTR_POSITION, ATTR_TILT_POSITION, DOMAIN, PLATFORM_SCHEMA, SERVICE_CLOSE_COVER, SERVICE_CLOSE_COVER_TILT, SERVICE_OPEN_COVER, SERVICE_OPEN_COVER_TILT, diff --git a/homeassistant/components/light/group.py b/homeassistant/components/group/light.py similarity index 99% rename from homeassistant/components/light/group.py rename to homeassistant/components/group/light.py index 7e9d11d3a02..c37c5cc4e8e 100644 --- a/homeassistant/components/light/group.py +++ b/homeassistant/components/group/light.py @@ -20,7 +20,7 @@ import homeassistant.helpers.config_validation as cv from homeassistant.helpers.event import async_track_state_change from homeassistant.helpers.typing import ConfigType, HomeAssistantType -from . import ( +from homeassistant.components.light import ( ATTR_BRIGHTNESS, ATTR_COLOR_TEMP, ATTR_EFFECT, ATTR_EFFECT_LIST, ATTR_FLASH, ATTR_HS_COLOR, ATTR_MAX_MIREDS, ATTR_MIN_MIREDS, ATTR_TRANSITION, ATTR_WHITE_VALUE, PLATFORM_SCHEMA, SUPPORT_BRIGHTNESS, diff --git a/homeassistant/components/alarm_control_panel/manual.py b/homeassistant/components/manual/alarm_control_panel.py similarity index 100% rename from homeassistant/components/alarm_control_panel/manual.py rename to homeassistant/components/manual/alarm_control_panel.py diff --git a/homeassistant/components/alarm_control_panel/manual_mqtt.py b/homeassistant/components/manual_mqtt/alarm_control_panel.py similarity index 100% rename from homeassistant/components/alarm_control_panel/manual_mqtt.py rename to homeassistant/components/manual_mqtt/alarm_control_panel.py diff --git a/homeassistant/components/light/switch.py b/homeassistant/components/switch/light.py similarity index 98% rename from homeassistant/components/light/switch.py rename to homeassistant/components/switch/light.py index 4b4f3313349..64f8779e4ab 100644 --- a/homeassistant/components/light/switch.py +++ b/homeassistant/components/switch/light.py @@ -16,7 +16,7 @@ import homeassistant.helpers.config_validation as cv from homeassistant.helpers.event import async_track_state_change from homeassistant.helpers.typing import ConfigType, HomeAssistantType -from . import PLATFORM_SCHEMA, Light +from homeassistant.components.light import PLATFORM_SCHEMA, Light _LOGGER = logging.getLogger(__name__) diff --git a/script/gen_requirements_all.py b/script/gen_requirements_all.py index 6912c83f770..fa6a8429ff3 100755 --- a/script/gen_requirements_all.py +++ b/script/gen_requirements_all.py @@ -222,7 +222,7 @@ def gather_modules(): if fnmatch.fnmatch(package, pattern): break else: - print("{}: {}".format(package, err)) + print("{}: {}".format(package.replace('.', '/') + '.py', err)) errors.append(package) continue diff --git a/tests/components/camera/test_init.py b/tests/components/camera/test_init.py index 840e30161f3..0359d14df63 100644 --- a/tests/components/camera/test_init.py +++ b/tests/components/camera/test_init.py @@ -28,7 +28,7 @@ def mock_camera(hass): } })) - with patch('homeassistant.components.camera.demo.DemoCamera.camera_image', + with patch('homeassistant.components.demo.camera.DemoCamera.camera_image', return_value=b'Test'): yield @@ -92,7 +92,7 @@ class TestGetImage: """Stop everything that was started.""" self.hass.stop() - @patch('homeassistant.components.camera.demo.DemoCamera.camera_image', + @patch('homeassistant.components.demo.camera.DemoCamera.camera_image', autospec=True, return_value=b'Test') def test_get_image_from_camera(self, mock_camera): """Grab an image from camera entity.""" @@ -199,7 +199,7 @@ async def test_webocket_camera_stream(hass, hass_ws_client, hass_client, with patch('homeassistant.components.camera.request_stream', return_value='http://home.assistant/playlist.m3u8' ) as mock_request_stream, \ - patch('homeassistant.components.camera.demo.DemoCamera.stream_source', + patch('homeassistant.components.demo.camera.DemoCamera.stream_source', new_callable=PropertyMock) as mock_stream_source: mock_stream_source.return_value = generate_h264_video() # Request playlist through WebSocket @@ -241,7 +241,7 @@ async def test_handle_play_stream_service(hass, mock_camera, mock_stream): } with patch('homeassistant.components.camera.request_stream' ) as mock_request_stream, \ - patch('homeassistant.components.camera.demo.DemoCamera.stream_source', + patch('homeassistant.components.demo.camera.DemoCamera.stream_source', new_callable=PropertyMock) as mock_stream_source: mock_stream_source.return_value = generate_h264_video() # Call service diff --git a/tests/components/calendar/test_demo.py b/tests/components/demo/test_calendar.py similarity index 100% rename from tests/components/calendar/test_demo.py rename to tests/components/demo/test_calendar.py diff --git a/tests/components/camera/test_demo.py b/tests/components/demo/test_camera.py similarity index 97% rename from tests/components/camera/test_demo.py rename to tests/components/demo/test_camera.py index f6e2513380c..6329a36543f 100644 --- a/tests/components/camera/test_demo.py +++ b/tests/components/demo/test_camera.py @@ -27,7 +27,7 @@ async def test_init_state_is_streaming(hass, demo_camera): assert demo_camera.state == STATE_STREAMING mock_on_img = mock_open(read_data=b'ON') - with patch('homeassistant.components.camera.demo.open', mock_on_img, + with patch('homeassistant.components.demo.camera.open', mock_on_img, create=True): image = await camera.async_get_image(hass, demo_camera.entity_id) assert mock_on_img.called diff --git a/tests/components/climate/test_demo.py b/tests/components/demo/test_climate.py similarity index 100% rename from tests/components/climate/test_demo.py rename to tests/components/demo/test_climate.py diff --git a/tests/components/cover/test_demo.py b/tests/components/demo/test_cover.py similarity index 100% rename from tests/components/cover/test_demo.py rename to tests/components/demo/test_cover.py diff --git a/tests/components/fan/test_demo.py b/tests/components/demo/test_fan.py similarity index 100% rename from tests/components/fan/test_demo.py rename to tests/components/demo/test_fan.py diff --git a/tests/components/geo_location/test_demo.py b/tests/components/demo/test_geo_location.py similarity index 97% rename from tests/components/geo_location/test_demo.py rename to tests/components/demo/test_geo_location.py index d1c11fe55bf..5a46ca99839 100644 --- a/tests/components/geo_location/test_demo.py +++ b/tests/components/demo/test_geo_location.py @@ -3,7 +3,7 @@ import unittest from unittest.mock import patch from homeassistant.components import geo_location -from homeassistant.components.geo_location.demo import \ +from homeassistant.components.demo.geo_location import \ NUMBER_OF_DEMO_DEVICES, DEFAULT_UNIT_OF_MEASUREMENT, \ DEFAULT_UPDATE_INTERVAL from homeassistant.setup import setup_component diff --git a/tests/components/light/test_demo.py b/tests/components/demo/test_light.py similarity index 100% rename from tests/components/light/test_demo.py rename to tests/components/demo/test_light.py diff --git a/tests/components/lock/test_demo.py b/tests/components/demo/test_lock.py similarity index 100% rename from tests/components/lock/test_demo.py rename to tests/components/demo/test_lock.py diff --git a/tests/components/media_player/test_demo.py b/tests/components/demo/test_media_player.py similarity index 99% rename from tests/components/media_player/test_demo.py rename to tests/components/demo/test_media_player.py index 8cbe0a594d2..83acf8be601 100644 --- a/tests/components/media_player/test_demo.py +++ b/tests/components/demo/test_media_player.py @@ -184,7 +184,7 @@ class TestDemoMediaPlayer(unittest.TestCase): state = self.hass.states.get(ent_id) assert 1 == state.attributes.get('media_episode') - @patch('homeassistant.components.media_player.demo.DemoYoutubePlayer.' + @patch('homeassistant.components.demo.media_player.DemoYoutubePlayer.' 'media_seek', autospec=True) def test_play_media(self, mock_seek): """Test play_media .""" diff --git a/tests/components/vacuum/test_demo.py b/tests/components/demo/test_vacuum.py similarity index 99% rename from tests/components/vacuum/test_demo.py rename to tests/components/demo/test_vacuum.py index e0b560bbb48..523fe17f824 100644 --- a/tests/components/vacuum/test_demo.py +++ b/tests/components/demo/test_vacuum.py @@ -9,7 +9,7 @@ from homeassistant.components.vacuum import ( SERVICE_SEND_COMMAND, SERVICE_SET_FAN_SPEED, STATE_DOCKED, STATE_CLEANING, STATE_PAUSED, STATE_IDLE, STATE_RETURNING) -from homeassistant.components.vacuum.demo import ( +from homeassistant.components.demo.vacuum import ( DEMO_VACUUM_BASIC, DEMO_VACUUM_COMPLETE, DEMO_VACUUM_MINIMAL, DEMO_VACUUM_MOST, DEMO_VACUUM_NONE, DEMO_VACUUM_STATE, FAN_SPEEDS) from homeassistant.const import ( diff --git a/tests/components/water_heater/test_demo.py b/tests/components/demo/test_water_heater.py similarity index 100% rename from tests/components/water_heater/test_demo.py rename to tests/components/demo/test_water_heater.py diff --git a/tests/components/facebox/test_image_processing.py b/tests/components/facebox/test_image_processing.py index a4e7890f3fa..971b6830ae1 100644 --- a/tests/components/facebox/test_image_processing.py +++ b/tests/components/facebox/test_image_processing.py @@ -89,7 +89,7 @@ def mock_isfile(): @pytest.fixture def mock_image(): """Return a mock camera image.""" - with patch('homeassistant.components.camera.demo.DemoCamera.camera_image', + with patch('homeassistant.components.demo.camera.DemoCamera.camera_image', return_value=b'Test') as image: yield image diff --git a/tests/components/climate/test_generic_thermostat.py b/tests/components/generic_thermostat/test_climate.py similarity index 100% rename from tests/components/climate/test_generic_thermostat.py rename to tests/components/generic_thermostat/test_climate.py diff --git a/tests/components/google_assistant/test_smart_home.py b/tests/components/google_assistant/test_smart_home.py index cccbe0d0a9d..bc59cc8ff2d 100644 --- a/tests/components/google_assistant/test_smart_home.py +++ b/tests/components/google_assistant/test_smart_home.py @@ -13,7 +13,7 @@ from homeassistant.components.climate.const import ( from homeassistant.components.google_assistant import ( const, trait, helpers, smart_home as sh, EVENT_COMMAND_RECEIVED, EVENT_QUERY_RECEIVED, EVENT_SYNC_RECEIVED) -from homeassistant.components.light.demo import DemoLight +from homeassistant.components.demo.light import DemoLight from homeassistant.helpers import device_registry from tests.common import (mock_device_registry, mock_registry, diff --git a/tests/components/cover/test_group.py b/tests/components/group/test_cover.py similarity index 99% rename from tests/components/cover/test_group.py rename to tests/components/group/test_cover.py index 2211c8c77bc..04e8f9c964d 100644 --- a/tests/components/cover/test_group.py +++ b/tests/components/group/test_cover.py @@ -6,7 +6,7 @@ import pytest from homeassistant.components.cover import ( ATTR_CURRENT_POSITION, ATTR_CURRENT_TILT_POSITION, ATTR_POSITION, ATTR_TILT_POSITION, DOMAIN) -from homeassistant.components.cover.group import DEFAULT_NAME +from homeassistant.components.group.cover import DEFAULT_NAME from homeassistant.const import ( ATTR_ASSUMED_STATE, ATTR_ENTITY_ID, ATTR_FRIENDLY_NAME, ATTR_SUPPORTED_FEATURES, CONF_ENTITIES, diff --git a/tests/components/light/test_group.py b/tests/components/group/test_light.py similarity index 99% rename from tests/components/light/test_group.py rename to tests/components/group/test_light.py index 472bdf42385..51580e503bd 100644 --- a/tests/components/light/test_group.py +++ b/tests/components/group/test_light.py @@ -3,7 +3,7 @@ from unittest.mock import MagicMock import asynctest -from homeassistant.components.light import group +import homeassistant.components.group.light as group from homeassistant.setup import async_setup_component from tests.components.light import common diff --git a/tests/components/image_processing/test_init.py b/tests/components/image_processing/test_init.py index 8bec3bd71f5..86f5f820be3 100644 --- a/tests/components/image_processing/test_init.py +++ b/tests/components/image_processing/test_init.py @@ -80,7 +80,7 @@ class TestImageProcessing: """Stop everything that was started.""" self.hass.stop() - @patch('homeassistant.components.camera.demo.DemoCamera.camera_image', + @patch('homeassistant.components.demo.camera.DemoCamera.camera_image', autospec=True, return_value=b'Test') def test_get_image_from_camera(self, mock_camera): """Grab an image from camera entity.""" diff --git a/tests/components/alarm_control_panel/test_manual.py b/tests/components/manual/test_alarm_control_panel.py similarity index 95% rename from tests/components/alarm_control_panel/test_manual.py rename to tests/components/manual/test_alarm_control_panel.py index 14326b3f32d..a6e59af64d5 100644 --- a/tests/components/alarm_control_panel/test_manual.py +++ b/tests/components/manual/test_alarm_control_panel.py @@ -76,7 +76,7 @@ async def test_arm_home_with_pending(hass): assert state.attributes['post_pending_state'] == STATE_ALARM_ARMED_HOME future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -184,7 +184,7 @@ async def test_arm_away_with_pending(hass): assert state.attributes['post_pending_state'] == STATE_ALARM_ARMED_AWAY future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -269,7 +269,7 @@ async def test_arm_night_with_pending(hass): STATE_ALARM_ARMED_NIGHT future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -332,7 +332,7 @@ async def test_trigger_no_pending(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=60) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -374,7 +374,7 @@ async def test_trigger_with_delay(hass): state.attributes['post_pending_state'] future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -458,7 +458,7 @@ async def test_trigger_with_pending(hass): assert state.attributes['post_pending_state'] == STATE_ALARM_TRIGGERED future = dt_util.utcnow() + timedelta(seconds=2) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -467,7 +467,7 @@ async def test_trigger_with_pending(hass): assert state.state == STATE_ALARM_TRIGGERED future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -512,7 +512,7 @@ async def test_trigger_with_unused_specific_delay(hass): state.attributes['post_pending_state'] future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -557,7 +557,7 @@ async def test_trigger_with_specific_delay(hass): state.attributes['post_pending_state'] future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -601,7 +601,7 @@ async def test_trigger_with_pending_and_delay(hass): assert state.attributes['post_pending_state'] == STATE_ALARM_TRIGGERED future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -611,7 +611,7 @@ async def test_trigger_with_pending_and_delay(hass): assert state.attributes['post_pending_state'] == STATE_ALARM_TRIGGERED future += timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -658,7 +658,7 @@ async def test_trigger_with_pending_and_specific_delay(hass): assert state.attributes['post_pending_state'] == STATE_ALARM_TRIGGERED future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -668,7 +668,7 @@ async def test_trigger_with_pending_and_specific_delay(hass): assert state.attributes['post_pending_state'] == STATE_ALARM_TRIGGERED future += timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -699,7 +699,7 @@ async def test_armed_home_with_specific_pending(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=2) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -730,7 +730,7 @@ async def test_armed_away_with_specific_pending(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=2) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -761,7 +761,7 @@ async def test_armed_night_with_specific_pending(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=2) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -794,7 +794,7 @@ async def test_trigger_with_specific_pending(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=2) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -803,7 +803,7 @@ async def test_trigger_with_specific_pending(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -836,7 +836,7 @@ async def test_trigger_with_disarm_after_trigger(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -899,7 +899,7 @@ async def test_trigger_with_unused_zero_specific_trigger_time(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -934,7 +934,7 @@ async def test_trigger_with_specific_trigger_time(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -973,7 +973,7 @@ async def test_trigger_with_no_disarm_after_trigger(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -1012,7 +1012,7 @@ async def test_back_to_back_trigger_with_no_disarm_after_trigger(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -1027,7 +1027,7 @@ async def test_back_to_back_trigger_with_no_disarm_after_trigger(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -1065,7 +1065,7 @@ async def test_disarm_while_pending_trigger(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -1104,7 +1104,7 @@ async def test_disarm_during_trigger_with_invalid_code(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -1202,7 +1202,7 @@ async def test_arm_custom_bypass_with_pending(hass): STATE_ALARM_ARMED_CUSTOM_BYPASS future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -1257,7 +1257,7 @@ async def test_armed_custom_bypass_with_specific_pending(hass): hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=2) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -1311,7 +1311,7 @@ async def test_arm_away_after_disabled_disarmed(hass): state.attributes['post_pending_state'] future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() @@ -1330,7 +1330,7 @@ async def test_arm_away_after_disabled_disarmed(hass): state.attributes['post_pending_state'] future += timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual.' + with patch(('homeassistant.components.manual.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): async_fire_time_changed(hass, future) await hass.async_block_till_done() diff --git a/tests/components/alarm_control_panel/test_manual_mqtt.py b/tests/components/manual_mqtt/test_alarm_control_panel.py similarity index 95% rename from tests/components/alarm_control_panel/test_manual_mqtt.py rename to tests/components/manual_mqtt/test_alarm_control_panel.py index 3d063f8a34a..f5558331bce 100644 --- a/tests/components/alarm_control_panel/test_manual_mqtt.py +++ b/tests/components/manual_mqtt/test_alarm_control_panel.py @@ -106,7 +106,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): assert state.attributes['post_pending_state'] == STATE_ALARM_ARMED_HOME future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -221,7 +221,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): assert state.attributes['post_pending_state'] == STATE_ALARM_ARMED_AWAY future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -309,7 +309,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): STATE_ALARM_ARMED_NIGHT future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -374,7 +374,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=60) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -417,7 +417,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): state.attributes['post_pending_state'] future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -504,7 +504,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): assert state.attributes['post_pending_state'] == STATE_ALARM_TRIGGERED future = dt_util.utcnow() + timedelta(seconds=2) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -513,7 +513,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -547,7 +547,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -612,7 +612,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -648,7 +648,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -688,7 +688,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -703,7 +703,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -742,7 +742,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -782,7 +782,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -828,7 +828,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): state.attributes['post_pending_state'] future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -874,7 +874,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): state.attributes['post_pending_state'] future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -919,7 +919,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): assert state.attributes['post_pending_state'] == STATE_ALARM_TRIGGERED future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -929,7 +929,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): assert state.attributes['post_pending_state'] == STATE_ALARM_TRIGGERED future += timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -977,7 +977,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): assert state.attributes['post_pending_state'] == STATE_ALARM_TRIGGERED future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -987,7 +987,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): assert state.attributes['post_pending_state'] == STATE_ALARM_TRIGGERED future += timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1019,7 +1019,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=2) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1051,7 +1051,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=2) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1083,7 +1083,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=2) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1117,7 +1117,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=2) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1126,7 +1126,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.hass.states.get(entity_id).state future = dt_util.utcnow() + timedelta(seconds=5) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1181,7 +1181,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): state.attributes['post_pending_state'] future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1200,7 +1200,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): state.attributes['post_pending_state'] future += timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1275,7 +1275,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): # Fast-forward a little bit future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1309,7 +1309,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): # Fast-forward a little bit future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1343,7 +1343,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): # Fast-forward a little bit future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1409,7 +1409,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.mock_publish.async_publish.reset_mock() # Fast-forward a little bit future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1425,7 +1425,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.mock_publish.async_publish.reset_mock() # Fast-forward a little bit future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() @@ -1441,7 +1441,7 @@ class TestAlarmControlPanelManualMqtt(unittest.TestCase): self.mock_publish.async_publish.reset_mock() # Fast-forward a little bit future = dt_util.utcnow() + timedelta(seconds=1) - with patch(('homeassistant.components.alarm_control_panel.manual_mqtt.' + with patch(('homeassistant.components.manual_mqtt.alarm_control_panel.' 'dt_util.utcnow'), return_value=future): fire_time_changed(self.hass, future) self.hass.block_till_done() diff --git a/tests/components/light/test_switch.py b/tests/components/switch/test_light.py similarity index 100% rename from tests/components/light/test_switch.py rename to tests/components/switch/test_light.py