mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 18:57:06 +00:00
Prevent device tracker from creating invalid YAML (#1774)
This commit is contained in:
parent
446d367aeb
commit
b87e2437aa
@ -204,6 +204,7 @@ class DeviceTracker(object):
|
|||||||
return
|
return
|
||||||
|
|
||||||
# If no device can be found, create it
|
# If no device can be found, create it
|
||||||
|
dev_id = util.ensure_unique_string(dev_id, self.devices.keys())
|
||||||
device = Device(
|
device = Device(
|
||||||
self.hass, self.consider_home, self.home_range, self.track_new,
|
self.hass, self.consider_home, self.home_range, self.track_new,
|
||||||
dev_id, mac, (host_name or dev_id).replace('_', ' '))
|
dev_id, mac, (host_name or dev_id).replace('_', ' '))
|
||||||
|
@ -197,3 +197,16 @@ class TestComponentsDeviceTracker(unittest.TestCase):
|
|||||||
mock_see.assert_called_once_with(
|
mock_see.assert_called_once_with(
|
||||||
mac=mac, dev_id=dev_id, host_name=host_name,
|
mac=mac, dev_id=dev_id, host_name=host_name,
|
||||||
location_name=location_name, gps=gps)
|
location_name=location_name, gps=gps)
|
||||||
|
|
||||||
|
def test_not_write_duplicate_yaml_keys(self):
|
||||||
|
"""Test that the device tracker will not generate invalid YAML."""
|
||||||
|
self.assertTrue(device_tracker.setup(self.hass, {}))
|
||||||
|
|
||||||
|
device_tracker.see(self.hass, 'mac_1', host_name='hello')
|
||||||
|
device_tracker.see(self.hass, 'mac_2', host_name='hello')
|
||||||
|
|
||||||
|
self.hass.pool.block_till_done()
|
||||||
|
|
||||||
|
config = device_tracker.load_config(self.yaml_devices, self.hass,
|
||||||
|
timedelta(seconds=0), 0)
|
||||||
|
assert len(config) == 2
|
||||||
|
Loading…
x
Reference in New Issue
Block a user