mirror of
https://github.com/home-assistant/core.git
synced 2025-04-28 19:27:51 +00:00
Preserve customize glob order. (#6963)
* Preserve customize glob order. * add tests
This commit is contained in:
parent
3e66df50c8
commit
f96e06a2c2
@ -124,7 +124,7 @@ CONFIG_SCHEMA = vol.Schema({
|
|||||||
vol.Optional(CONF_DEVICE_CONFIG, default={}):
|
vol.Optional(CONF_DEVICE_CONFIG, default={}):
|
||||||
vol.Schema({cv.entity_id: DEVICE_CONFIG_SCHEMA_ENTRY}),
|
vol.Schema({cv.entity_id: DEVICE_CONFIG_SCHEMA_ENTRY}),
|
||||||
vol.Optional(CONF_DEVICE_CONFIG_GLOB, default={}):
|
vol.Optional(CONF_DEVICE_CONFIG_GLOB, default={}):
|
||||||
vol.Schema({cv.string: DEVICE_CONFIG_SCHEMA_ENTRY}),
|
cv.ordered_dict(DEVICE_CONFIG_SCHEMA_ENTRY, cv.string),
|
||||||
vol.Optional(CONF_DEVICE_CONFIG_DOMAIN, default={}):
|
vol.Optional(CONF_DEVICE_CONFIG_DOMAIN, default={}):
|
||||||
vol.Schema({cv.string: DEVICE_CONFIG_SCHEMA_ENTRY}),
|
vol.Schema({cv.string: DEVICE_CONFIG_SCHEMA_ENTRY}),
|
||||||
vol.Optional(CONF_DEBUG, default=DEFAULT_DEBUG): cv.boolean,
|
vol.Optional(CONF_DEBUG, default=DEFAULT_DEBUG): cv.boolean,
|
||||||
|
@ -108,7 +108,7 @@ CUSTOMIZE_CONFIG_SCHEMA = vol.Schema({
|
|||||||
vol.Optional(CONF_CUSTOMIZE_DOMAIN, default={}):
|
vol.Optional(CONF_CUSTOMIZE_DOMAIN, default={}):
|
||||||
vol.Schema({cv.string: dict}),
|
vol.Schema({cv.string: dict}),
|
||||||
vol.Optional(CONF_CUSTOMIZE_GLOB, default={}):
|
vol.Optional(CONF_CUSTOMIZE_GLOB, default={}):
|
||||||
vol.Schema({cv.string: dict}),
|
cv.ordered_dict(OrderedDict, cv.string),
|
||||||
})
|
})
|
||||||
|
|
||||||
CORE_CONFIG_SCHEMA = CUSTOMIZE_CONFIG_SCHEMA.extend({
|
CORE_CONFIG_SCHEMA = CUSTOMIZE_CONFIG_SCHEMA.extend({
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
"""Tests for the Z-Wave init."""
|
"""Tests for the Z-Wave init."""
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import unittest
|
||||||
|
from collections import OrderedDict
|
||||||
|
|
||||||
from homeassistant.bootstrap import async_setup_component
|
from homeassistant.bootstrap import async_setup_component
|
||||||
|
from homeassistant.components.zwave import (
|
||||||
|
CONFIG_SCHEMA, CONF_DEVICE_CONFIG_GLOB)
|
||||||
|
|
||||||
|
|
||||||
@asyncio.coroutine
|
@asyncio.coroutine
|
||||||
@ -34,3 +38,14 @@ def test_invalid_device_config(hass, mock_openzwave):
|
|||||||
}})
|
}})
|
||||||
|
|
||||||
assert not result
|
assert not result
|
||||||
|
|
||||||
|
|
||||||
|
class TestZwave(unittest.TestCase):
|
||||||
|
"""Test zwave init."""
|
||||||
|
|
||||||
|
def test_device_config_glob_is_ordered(self):
|
||||||
|
"""Test that device_config_glob preserves order."""
|
||||||
|
conf = CONFIG_SCHEMA(
|
||||||
|
{'zwave': {CONF_DEVICE_CONFIG_GLOB: OrderedDict()}})
|
||||||
|
self.assertIsInstance(
|
||||||
|
conf['zwave'][CONF_DEVICE_CONFIG_GLOB], OrderedDict)
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
import os
|
import os
|
||||||
import unittest
|
import unittest
|
||||||
import unittest.mock as mock
|
import unittest.mock as mock
|
||||||
|
from collections import OrderedDict
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from voluptuous import MultipleInvalid
|
from voluptuous import MultipleInvalid
|
||||||
@ -205,6 +206,12 @@ class TestConfig(unittest.TestCase):
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
def test_customize_glob_is_ordered(self):
|
||||||
|
"""Test that customize_glob preserves order."""
|
||||||
|
conf = config_util.CORE_CONFIG_SCHEMA(
|
||||||
|
{'customize_glob': OrderedDict()})
|
||||||
|
self.assertIsInstance(conf['customize_glob'], OrderedDict)
|
||||||
|
|
||||||
def _compute_state(self, config):
|
def _compute_state(self, config):
|
||||||
run_coroutine_threadsafe(
|
run_coroutine_threadsafe(
|
||||||
config_util.async_process_ha_core_config(self.hass, config),
|
config_util.async_process_ha_core_config(self.hass, config),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user