def test_validate_entity_config(): """Test validate entities.""" configs = [{ 'invalid_entity_id': {} }, { 'demo.test': 1 }, { 'demo.test': 'test' }, { 'demo.test': [1, 2] }, { 'demo.test': None }, { 'demo.test': { CONF_NAME: None } }] for conf in configs: with pytest.raises(vol.Invalid): vec(conf) assert vec({}) == {} assert vec({'demo.test': {CONF_NAME: 'Name'}}) == \ {'demo.test': {CONF_NAME: 'Name'}} assert vec({'alarm_control_panel.demo': {}}) == \ {'alarm_control_panel.demo': {ATTR_CODE: None}} assert vec({'alarm_control_panel.demo': {ATTR_CODE: '1234'}}) == \ {'alarm_control_panel.demo': {ATTR_CODE: '1234'}} assert vec({'lock.demo': {}}) == {'lock.demo': {ATTR_CODE: None}} assert vec({'lock.demo': {ATTR_CODE: '1234'}}) == \ {'lock.demo': {ATTR_CODE: '1234'}}
def test_validate_entity_config(self): """Test validate entities.""" configs = [{'invalid_entity_id': {}}, {'demo.test': 1}, {'demo.test': 'test'}, {'demo.test': [1, 2]}, {'demo.test': None}] for conf in configs: with self.assertRaises(vol.Invalid): vec(conf) self.assertEqual(vec({}), {}) self.assertEqual( vec({'alarm_control_panel.demo': {ATTR_CODE: '1234'}}), {'alarm_control_panel.demo': {ATTR_CODE: '1234'}})
def test_validate_entity_config(): """Test validate entities.""" configs = [ None, [], 'string', 12345, { 'invalid_entity_id': {} }, { 'demo.test': 1 }, { 'demo.test': 'test' }, { 'demo.test': [1, 2] }, { 'demo.test': None }, { 'demo.test': { CONF_NAME: None } }, { 'media_player.test': { CONF_FEATURE_LIST: [{ CONF_FEATURE: 'invalid_feature' }] } }, { 'media_player.test': { CONF_FEATURE_LIST: [{ CONF_FEATURE: FEATURE_ON_OFF }, { CONF_FEATURE: FEATURE_ON_OFF }] } }, { 'switch.test': { CONF_TYPE: 'invalid_type' } } ] for conf in configs: with pytest.raises(vol.Invalid): vec(conf) assert vec({}) == {} assert vec({'demo.test': {CONF_NAME: 'Name'}}) == \ {'demo.test': {CONF_NAME: 'Name'}} assert vec({'alarm_control_panel.demo': {}}) == \ {'alarm_control_panel.demo': {ATTR_CODE: None}} assert vec({'alarm_control_panel.demo': {ATTR_CODE: '1234'}}) == \ {'alarm_control_panel.demo': {ATTR_CODE: '1234'}} assert vec({'lock.demo': {}}) == {'lock.demo': {ATTR_CODE: None}} assert vec({'lock.demo': {ATTR_CODE: '1234'}}) == \ {'lock.demo': {ATTR_CODE: '1234'}} assert vec({'media_player.demo': {}}) == \ {'media_player.demo': {CONF_FEATURE_LIST: {}}} config = { CONF_FEATURE_LIST: [{ CONF_FEATURE: FEATURE_ON_OFF }, { CONF_FEATURE: FEATURE_PLAY_PAUSE }] } assert vec({'media_player.demo': config}) == \ {'media_player.demo': {CONF_FEATURE_LIST: {FEATURE_ON_OFF: {}, FEATURE_PLAY_PAUSE: {}}}} assert vec({'switch.demo': {CONF_TYPE: TYPE_FAUCET}}) == \ {'switch.demo': {CONF_TYPE: TYPE_FAUCET}} assert vec({'switch.demo': {CONF_TYPE: TYPE_OUTLET}}) == \ {'switch.demo': {CONF_TYPE: TYPE_OUTLET}} assert vec({'switch.demo': {CONF_TYPE: TYPE_SHOWER}}) == \ {'switch.demo': {CONF_TYPE: TYPE_SHOWER}} assert vec({'switch.demo': {CONF_TYPE: TYPE_SPRINKLER}}) == \ {'switch.demo': {CONF_TYPE: TYPE_SPRINKLER}} assert vec({'switch.demo': {CONF_TYPE: TYPE_SWITCH}}) == \ {'switch.demo': {CONF_TYPE: TYPE_SWITCH}} assert vec({'switch.demo': {CONF_TYPE: TYPE_VALVE}}) == \ {'switch.demo': {CONF_TYPE: TYPE_VALVE}}
def test_validate_entity_config(): """Test validate entities.""" configs = [ None, [], "string", 12345, { "invalid_entity_id": {} }, { "demo.test": 1 }, { "binary_sensor.demo": { CONF_LINKED_BATTERY_SENSOR: None } }, { "binary_sensor.demo": { CONF_LINKED_BATTERY_SENSOR: "switch.demo" } }, { "binary_sensor.demo": { CONF_LOW_BATTERY_THRESHOLD: "switch.demo" } }, { "binary_sensor.demo": { CONF_LOW_BATTERY_THRESHOLD: -10 } }, { "demo.test": "test" }, { "demo.test": [1, 2] }, { "demo.test": None }, { "demo.test": { CONF_NAME: None } }, { "media_player.test": { CONF_FEATURE_LIST: [{ CONF_FEATURE: "invalid_feature" }] } }, { "media_player.test": { CONF_FEATURE_LIST: [ { CONF_FEATURE: FEATURE_ON_OFF }, { CONF_FEATURE: FEATURE_ON_OFF }, ] } }, { "switch.test": { CONF_TYPE: "invalid_type" } }, ] for conf in configs: with pytest.raises(vol.Invalid): vec(conf) assert vec({}) == {} assert vec({"demo.test": { CONF_NAME: "Name" }}) == { "demo.test": { CONF_NAME: "Name", CONF_LOW_BATTERY_THRESHOLD: 20 } } assert vec({ "binary_sensor.demo": { CONF_LINKED_BATTERY_SENSOR: "sensor.demo_battery" } }) == { "binary_sensor.demo": { CONF_LINKED_BATTERY_SENSOR: "sensor.demo_battery", CONF_LOW_BATTERY_THRESHOLD: 20, } } assert vec({"binary_sensor.demo": { CONF_LOW_BATTERY_THRESHOLD: 50 }}) == { "binary_sensor.demo": { CONF_LOW_BATTERY_THRESHOLD: 50 } } assert vec({"alarm_control_panel.demo": {}}) == { "alarm_control_panel.demo": { ATTR_CODE: None, CONF_LOW_BATTERY_THRESHOLD: 20 } } assert vec({"alarm_control_panel.demo": { ATTR_CODE: "1234" }}) == { "alarm_control_panel.demo": { ATTR_CODE: "1234", CONF_LOW_BATTERY_THRESHOLD: 20 } } assert vec({"lock.demo": {}}) == { "lock.demo": { ATTR_CODE: None, CONF_LOW_BATTERY_THRESHOLD: 20 } } assert vec({"lock.demo": { ATTR_CODE: "1234" }}) == { "lock.demo": { ATTR_CODE: "1234", CONF_LOW_BATTERY_THRESHOLD: 20 } } assert vec({"media_player.demo": {}}) == { "media_player.demo": { CONF_FEATURE_LIST: {}, CONF_LOW_BATTERY_THRESHOLD: 20 } } config = { CONF_FEATURE_LIST: [ { CONF_FEATURE: FEATURE_ON_OFF }, { CONF_FEATURE: FEATURE_PLAY_PAUSE }, ] } assert vec({"media_player.demo": config}) == { "media_player.demo": { CONF_FEATURE_LIST: { FEATURE_ON_OFF: {}, FEATURE_PLAY_PAUSE: {} }, CONF_LOW_BATTERY_THRESHOLD: 20, } } assert vec({"switch.demo": { CONF_TYPE: TYPE_FAUCET }}) == { "switch.demo": { CONF_TYPE: TYPE_FAUCET, CONF_LOW_BATTERY_THRESHOLD: 20 } } assert vec({"switch.demo": { CONF_TYPE: TYPE_OUTLET }}) == { "switch.demo": { CONF_TYPE: TYPE_OUTLET, CONF_LOW_BATTERY_THRESHOLD: 20 } } assert vec({"switch.demo": { CONF_TYPE: TYPE_SHOWER }}) == { "switch.demo": { CONF_TYPE: TYPE_SHOWER, CONF_LOW_BATTERY_THRESHOLD: 20 } } assert vec({"switch.demo": { CONF_TYPE: TYPE_SPRINKLER }}) == { "switch.demo": { CONF_TYPE: TYPE_SPRINKLER, CONF_LOW_BATTERY_THRESHOLD: 20 } } assert vec({"switch.demo": { CONF_TYPE: TYPE_SWITCH }}) == { "switch.demo": { CONF_TYPE: TYPE_SWITCH, CONF_LOW_BATTERY_THRESHOLD: 20 } } assert vec({"switch.demo": { CONF_TYPE: TYPE_VALVE }}) == { "switch.demo": { CONF_TYPE: TYPE_VALVE, CONF_LOW_BATTERY_THRESHOLD: 20 } }
def test_validate_entity_config(): """Test validate entities.""" configs = [{'invalid_entity_id': {}}, {'demo.test': 1}, {'demo.test': 'test'}, {'demo.test': [1, 2]}, {'demo.test': None}, {'demo.test': {CONF_NAME: None}}, {'media_player.test': {CONF_FEATURE_LIST: [ {CONF_FEATURE: 'invalid_feature'}]}}, {'media_player.test': {CONF_FEATURE_LIST: [ {CONF_FEATURE: FEATURE_ON_OFF}, {CONF_FEATURE: FEATURE_ON_OFF}]}}, {'switch.test': {CONF_TYPE: 'invalid_type'}}] for conf in configs: with pytest.raises(vol.Invalid): vec(conf) assert vec({}) == {} assert vec({'demo.test': {CONF_NAME: 'Name'}}) == \ {'demo.test': {CONF_NAME: 'Name'}} assert vec({'alarm_control_panel.demo': {}}) == \ {'alarm_control_panel.demo': {ATTR_CODE: None}} assert vec({'alarm_control_panel.demo': {ATTR_CODE: '1234'}}) == \ {'alarm_control_panel.demo': {ATTR_CODE: '1234'}} assert vec({'lock.demo': {}}) == {'lock.demo': {ATTR_CODE: None}} assert vec({'lock.demo': {ATTR_CODE: '1234'}}) == \ {'lock.demo': {ATTR_CODE: '1234'}} assert vec({'media_player.demo': {}}) == \ {'media_player.demo': {CONF_FEATURE_LIST: {}}} config = {CONF_FEATURE_LIST: [{CONF_FEATURE: FEATURE_ON_OFF}, {CONF_FEATURE: FEATURE_PLAY_PAUSE}]} assert vec({'media_player.demo': config}) == \ {'media_player.demo': {CONF_FEATURE_LIST: {FEATURE_ON_OFF: {}, FEATURE_PLAY_PAUSE: {}}}} assert vec({'switch.demo': {CONF_TYPE: TYPE_OUTLET}}) == \ {'switch.demo': {CONF_TYPE: TYPE_OUTLET}}