mirror of
https://github.com/home-assistant/core.git
synced 2025-07-20 11:47:06 +00:00
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
This commit is contained in:
parent
603765fe92
commit
35484ca086
@ -18,11 +18,10 @@ from homeassistant.setup import async_prepare_setup_platform
|
|||||||
from homeassistant.core import callback
|
from homeassistant.core import callback
|
||||||
from homeassistant.loader import bind_hass
|
from homeassistant.loader import bind_hass
|
||||||
from homeassistant.components import group, zone
|
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.config import load_yaml_config_file, async_log_exception
|
||||||
from homeassistant.exceptions import HomeAssistantError
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
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.entity import Entity
|
||||||
from homeassistant.helpers.event import async_track_time_interval
|
from homeassistant.helpers.event import async_track_time_interval
|
||||||
from homeassistant.helpers.restore_state import async_get_last_state
|
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)
|
cv.time_period, cv.positive_timedelta)
|
||||||
})
|
})
|
||||||
|
|
||||||
DISCOVERY_PLATFORMS = {
|
|
||||||
SERVICE_NETGEAR: 'netgear',
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@bind_hass
|
@bind_hass
|
||||||
def is_on(hass: HomeAssistantType, entity_id: str=None):
|
def is_on(hass: HomeAssistantType, entity_id: str=None):
|
||||||
@ -180,22 +175,6 @@ def async_setup(hass: HomeAssistantType, config: ConfigType):
|
|||||||
|
|
||||||
tracker.async_setup_group()
|
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
|
# Clean up stale devices
|
||||||
async_track_utc_time_change(
|
async_track_utc_time_change(
|
||||||
hass, tracker.async_update_stale, second=range(0, 60, 5))
|
hass, tracker.async_update_stale, second=range(0, 60, 5))
|
||||||
|
@ -11,7 +11,6 @@ import os
|
|||||||
from homeassistant.components import zone
|
from homeassistant.components import zone
|
||||||
from homeassistant.core import callback, State
|
from homeassistant.core import callback, State
|
||||||
from homeassistant.setup import setup_component
|
from homeassistant.setup import setup_component
|
||||||
from homeassistant.helpers import discovery
|
|
||||||
from homeassistant.loader import get_component
|
from homeassistant.loader import get_component
|
||||||
from homeassistant.util.async import run_coroutine_threadsafe
|
from homeassistant.util.async import run_coroutine_threadsafe
|
||||||
import homeassistant.util.dt as dt_util
|
import homeassistant.util.dt as dt_util
|
||||||
@ -23,7 +22,7 @@ from homeassistant.exceptions import HomeAssistantError
|
|||||||
from homeassistant.remote import JSONEncoder
|
from homeassistant.remote import JSONEncoder
|
||||||
|
|
||||||
from tests.common import (
|
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)
|
patch_yaml_files, assert_setup_component, mock_restore_cache, mock_coro)
|
||||||
|
|
||||||
from ...test_util.aiohttp import mock_aiohttp_client
|
from ...test_util.aiohttp import mock_aiohttp_client
|
||||||
@ -311,36 +310,6 @@ class TestComponentsDeviceTracker(unittest.TestCase):
|
|||||||
'No http request for macvendor made!'
|
'No http request for macvendor made!'
|
||||||
self.assertEqual(tracker.devices['b827eb000000'].vendor, vendor_string)
|
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):
|
def test_update_stale(self):
|
||||||
"""Test stalled update."""
|
"""Test stalled update."""
|
||||||
scanner = get_component('device_tracker.test').SCANNER
|
scanner = get_component('device_tracker.test').SCANNER
|
||||||
|
Loading…
x
Reference in New Issue
Block a user