mirror of
https://github.com/home-assistant/core.git
synced 2025-04-24 09:17:53 +00:00
add tcp/udp port to config validation (#2854)
This commit is contained in:
parent
781fe9c54e
commit
4fcfffc172
@ -62,8 +62,7 @@ CONFIG_SCHEMA = vol.Schema({
|
||||
vol.Required(CONF_CODE): cv.string,
|
||||
vol.Optional(CONF_ZONES): {vol.Coerce(int): ZONE_SCHEMA},
|
||||
vol.Optional(CONF_PARTITIONS): {vol.Coerce(int): PARTITION_SCHEMA},
|
||||
vol.Optional(CONF_EVL_PORT, default=DEFAULT_PORT):
|
||||
vol.All(vol.Coerce(int), vol.Range(min=1, max=65535)),
|
||||
vol.Optional(CONF_EVL_PORT, default=DEFAULT_PORT): cv.port,
|
||||
vol.Optional(CONF_EVL_VERSION, default=DEFAULT_EVL_VERSION):
|
||||
vol.All(vol.Coerce(int), vol.Range(min=3, max=4)),
|
||||
vol.Optional(CONF_EVL_KEEPALIVE, default=DEFAULT_KEEPALIVE):
|
||||
|
@ -10,6 +10,7 @@ import logging
|
||||
from functools import partial
|
||||
import voluptuous as vol
|
||||
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
from homeassistant.const import (EVENT_HOMEASSISTANT_STOP, STATE_UNKNOWN,
|
||||
CONF_USERNAME, CONF_PASSWORD)
|
||||
from homeassistant.helpers.entity import Entity
|
||||
@ -97,25 +98,21 @@ CONF_RESOLVENAMES = 'resolvenames'
|
||||
CONF_DELAY = 'delay'
|
||||
|
||||
PLATFORM_SCHEMA = vol.Schema({
|
||||
vol.Required(CONF_LOCAL_IP): vol.Coerce(str),
|
||||
vol.Optional(CONF_LOCAL_PORT, default=8943):
|
||||
vol.All(vol.Coerce(int),
|
||||
vol.Range(min=1, max=65535)),
|
||||
vol.Required(CONF_REMOTE_IP): vol.Coerce(str),
|
||||
vol.Optional(CONF_REMOTE_PORT, default=2001):
|
||||
vol.All(vol.Coerce(int),
|
||||
vol.Range(min=1, max=65535)),
|
||||
vol.Required(CONF_LOCAL_IP): cv.string,
|
||||
vol.Optional(CONF_LOCAL_PORT, default=8943): cv.port,
|
||||
vol.Required(CONF_REMOTE_IP): cv.string,
|
||||
vol.Optional(CONF_REMOTE_PORT, default=2001): cv.port,
|
||||
vol.Optional(CONF_RESOLVENAMES, default=False):
|
||||
vol.In(CONF_RESOLVENAMES_OPTIONS),
|
||||
vol.Optional(CONF_USERNAME, default="Admin"): vol.Coerce(str),
|
||||
vol.Optional(CONF_PASSWORD, default=""): vol.Coerce(str),
|
||||
vol.Optional(CONF_DELAY, default=0.5): vol.Coerce(float)
|
||||
vol.Optional(CONF_USERNAME, default="Admin"): cv.string,
|
||||
vol.Optional(CONF_PASSWORD, default=""): cv.string,
|
||||
vol.Optional(CONF_DELAY, default=0.5): cv.string,
|
||||
})
|
||||
|
||||
SCHEMA_SERVICE_VIRTUALKEY = vol.Schema({
|
||||
vol.Required(ATTR_ADDRESS): vol.Coerce(str),
|
||||
vol.Required(ATTR_ADDRESS): cv.string,
|
||||
vol.Required(ATTR_CHANNEL): vol.Coerce(int),
|
||||
vol.Required(ATTR_PARAM): vol.Coerce(str)
|
||||
vol.Required(ATTR_PARAM): cv.string,
|
||||
})
|
||||
|
||||
|
||||
|
@ -28,8 +28,7 @@ PLATFORM_SCHEMA = vol.Schema({
|
||||
vol.Required(CONF_USER): cv.string,
|
||||
vol.Required(CONF_PASSWORD): cv.string,
|
||||
vol.Required(CONF_SERVER): cv.string,
|
||||
vol.Optional(CONF_PORT, default=DEFAULT_PORT):
|
||||
vol.All(vol.Coerce(int), vol.Range(min=1, max=65535)),
|
||||
vol.Optional(CONF_PORT, default=DEFAULT_PORT): cv.port,
|
||||
})
|
||||
|
||||
|
||||
|
@ -28,9 +28,7 @@ PLATFORM_SCHEMA = vol.Schema({
|
||||
vol.Optional(CONF_SERVER): cv.string,
|
||||
vol.Optional(CONF_NAME, default='Plex'): cv.string,
|
||||
vol.Optional(CONF_HOST, default='localhost'): cv.string,
|
||||
vol.Optional(CONF_PORT, default=32400): vol.All(vol.Coerce(int),
|
||||
vol.Range(min=1,
|
||||
max=65535))
|
||||
vol.Optional(CONF_PORT, default=32400): cv.port,
|
||||
})
|
||||
|
||||
|
||||
|
@ -29,6 +29,7 @@ latitude = vol.All(vol.Coerce(float), vol.Range(min=-90, max=90),
|
||||
longitude = vol.All(vol.Coerce(float), vol.Range(min=-180, max=180),
|
||||
msg='invalid longitude')
|
||||
sun_event = vol.All(vol.Lower, vol.Any(SUN_EVENT_SUNSET, SUN_EVENT_SUNRISE))
|
||||
port = vol.All(vol.Coerce(int), vol.Range(min=1, max=65535))
|
||||
|
||||
# typing typevar
|
||||
T = TypeVar('T')
|
||||
|
@ -47,6 +47,18 @@ def test_longitude():
|
||||
schema(value)
|
||||
|
||||
|
||||
def test_port():
|
||||
"""Test tcp/udp network port."""
|
||||
schema = vol.Schema(cv.port)
|
||||
|
||||
for value in('invalid', None, -1, 0, 80000, '81000'):
|
||||
with pytest.raises(vol.MultipleInvalid):
|
||||
schema(value)
|
||||
|
||||
for value in ('1000', 21, 24574):
|
||||
schema(value)
|
||||
|
||||
|
||||
def test_platform_config():
|
||||
"""Test platform config validation."""
|
||||
for value in (
|
||||
|
Loading…
x
Reference in New Issue
Block a user