From 35484ca086b52896b93602ab9b78a01aee701ca2 Mon Sep 17 00:00:00 2001 From: Egor Tsinko Date: Sun, 8 Oct 2017 23:14:39 -0600 Subject: [PATCH] fix for LocationParseError in netgear platform (#9683) * fix for LocationParseError in netgear platform * added unit tests for get_scanner() * fixed houndci-bot warnings * fixed lint warnings * fixed lint warnings * fixed broken test * removed guard clause from netgear.py removed all discovery related code from device_tracker removed unnecessary unit test * removed discovery related tests * removed unused import * removed unused import --- .../components/device_tracker/__init__.py | 23 +------------ tests/components/device_tracker/test_init.py | 33 +------------------ 2 files changed, 2 insertions(+), 54 deletions(-) diff --git a/homeassistant/components/device_tracker/__init__.py b/homeassistant/components/device_tracker/__init__.py index 8192dfa751d..9a6dffc6101 100644 --- a/homeassistant/components/device_tracker/__init__.py +++ b/homeassistant/components/device_tracker/__init__.py @@ -18,11 +18,10 @@ from homeassistant.setup import async_prepare_setup_platform from homeassistant.core import callback from homeassistant.loader import bind_hass from homeassistant.components import group, zone -from homeassistant.components.discovery import SERVICE_NETGEAR from homeassistant.config import load_yaml_config_file, async_log_exception from homeassistant.exceptions import HomeAssistantError from homeassistant.helpers.aiohttp_client import async_get_clientsession -from homeassistant.helpers import config_per_platform, discovery +from homeassistant.helpers import config_per_platform from homeassistant.helpers.entity import Entity from homeassistant.helpers.event import async_track_time_interval from homeassistant.helpers.restore_state import async_get_last_state @@ -89,10 +88,6 @@ PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend({ cv.time_period, cv.positive_timedelta) }) -DISCOVERY_PLATFORMS = { - SERVICE_NETGEAR: 'netgear', -} - @bind_hass def is_on(hass: HomeAssistantType, entity_id: str=None): @@ -180,22 +175,6 @@ def async_setup(hass: HomeAssistantType, config: ConfigType): tracker.async_setup_group() - @callback - def async_device_tracker_discovered(service, info): - """Handle the discovery of device tracker platforms.""" - hass.async_add_job( - async_setup_platform(DISCOVERY_PLATFORMS[service], {}, info)) - - discovery.async_listen( - hass, DISCOVERY_PLATFORMS.keys(), async_device_tracker_discovered) - - @asyncio.coroutine - def async_platform_discovered(platform, info): - """Load a platform.""" - yield from async_setup_platform(platform, {}, disc_info=info) - - discovery.async_listen_platform(hass, DOMAIN, async_platform_discovered) - # Clean up stale devices async_track_utc_time_change( hass, tracker.async_update_stale, second=range(0, 60, 5)) diff --git a/tests/components/device_tracker/test_init.py b/tests/components/device_tracker/test_init.py index 92cb84cba2f..ecdbe0085ee 100644 --- a/tests/components/device_tracker/test_init.py +++ b/tests/components/device_tracker/test_init.py @@ -11,7 +11,6 @@ import os from homeassistant.components import zone from homeassistant.core import callback, State from homeassistant.setup import setup_component -from homeassistant.helpers import discovery from homeassistant.loader import get_component from homeassistant.util.async import run_coroutine_threadsafe import homeassistant.util.dt as dt_util @@ -23,7 +22,7 @@ from homeassistant.exceptions import HomeAssistantError from homeassistant.remote import JSONEncoder from tests.common import ( - get_test_home_assistant, fire_time_changed, fire_service_discovered, + get_test_home_assistant, fire_time_changed, patch_yaml_files, assert_setup_component, mock_restore_cache, mock_coro) from ...test_util.aiohttp import mock_aiohttp_client @@ -311,36 +310,6 @@ class TestComponentsDeviceTracker(unittest.TestCase): 'No http request for macvendor made!' self.assertEqual(tracker.devices['b827eb000000'].vendor, vendor_string) - def test_discovery(self): - """Test discovery.""" - scanner = get_component('device_tracker.test').SCANNER - - with patch.dict(device_tracker.DISCOVERY_PLATFORMS, {'test': 'test'}): - with patch.object(scanner, 'scan_devices', - autospec=True) as mock_scan: - with assert_setup_component(1, device_tracker.DOMAIN): - assert setup_component( - self.hass, device_tracker.DOMAIN, TEST_PLATFORM) - fire_service_discovered(self.hass, 'test', {}) - self.assertTrue(mock_scan.called) - - @patch( - 'homeassistant.components.device_tracker.DeviceTracker.see') - @patch( - 'homeassistant.components.device_tracker.demo.setup_scanner', - autospec=True) - def test_discover_platform(self, mock_demo_setup_scanner, mock_see): - """Test discovery of device_tracker demo platform.""" - assert device_tracker.DOMAIN not in self.hass.config.components - discovery.load_platform( - self.hass, device_tracker.DOMAIN, 'demo', {'test_key': 'test_val'}, - {}) - self.hass.block_till_done() - assert device_tracker.DOMAIN in self.hass.config.components - assert mock_demo_setup_scanner.called - assert mock_demo_setup_scanner.call_args[0] == ( - self.hass, {}, mock_see, {'test_key': 'test_val'}) - def test_update_stale(self): """Test stalled update.""" scanner = get_component('device_tracker.test').SCANNER