Revert "Validate UUID for tankerkoenig (#32805)" (#33123)

This reverts commit 49c2a4a4e3290de32cf3a10fd17f5c7a1f0234de.
The validation was causing more problems than it was fixing, so removed
it completely
This commit is contained in:
guillempages 2020-03-22 01:48:18 +01:00 committed by GitHub
parent 05e7238c45
commit 99d732b974
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 2 additions and 54 deletions

View File

@ -2,7 +2,6 @@
from datetime import timedelta from datetime import timedelta
import logging import logging
from math import ceil from math import ceil
from uuid import UUID
import pytankerkoenig import pytankerkoenig
import voluptuous as vol import voluptuous as vol
@ -26,26 +25,11 @@ _LOGGER = logging.getLogger(__name__)
DEFAULT_RADIUS = 2 DEFAULT_RADIUS = 2
DEFAULT_SCAN_INTERVAL = timedelta(minutes=30) DEFAULT_SCAN_INTERVAL = timedelta(minutes=30)
def uuid4_string(value):
"""Validate a v4 UUID in string format."""
try:
result = UUID(value, version=4)
except (ValueError, AttributeError, TypeError) as error:
raise vol.Invalid("Invalid Version4 UUID", error_message=str(error))
if str(result) != value.lower():
# UUID() will create a uuid4 if input is invalid
raise vol.Invalid("Invalid Version4 UUID")
return str(result)
CONFIG_SCHEMA = vol.Schema( CONFIG_SCHEMA = vol.Schema(
{ {
DOMAIN: vol.Schema( DOMAIN: vol.Schema(
{ {
vol.Required(CONF_API_KEY): uuid4_string, vol.Required(CONF_API_KEY): cv.string,
vol.Optional( vol.Optional(
CONF_SCAN_INTERVAL, default=DEFAULT_SCAN_INTERVAL CONF_SCAN_INTERVAL, default=DEFAULT_SCAN_INTERVAL
): cv.time_period, ): cv.time_period,
@ -66,7 +50,7 @@ CONFIG_SCHEMA = vol.Schema(
cv.positive_int, vol.Range(min=1) cv.positive_int, vol.Range(min=1)
), ),
vol.Optional(CONF_STATIONS, default=[]): vol.All( vol.Optional(CONF_STATIONS, default=[]): vol.All(
cv.ensure_list, [uuid4_string] cv.ensure_list, [cv.string]
), ),
} }
) )

View File

@ -588,9 +588,6 @@ pysonos==0.0.25
# homeassistant.components.spc # homeassistant.components.spc
pyspcwebgw==0.4.0 pyspcwebgw==0.4.0
# homeassistant.components.tankerkoenig
pytankerkoenig==0.0.6
# homeassistant.components.ecobee # homeassistant.components.ecobee
python-ecobee-api==0.2.2 python-ecobee-api==0.2.2

View File

@ -1 +0,0 @@
"""Tests for the tankerkoenig integration."""

View File

@ -1,32 +0,0 @@
"""The tests for the custom tankerkoenig validators."""
import unittest
import uuid
import pytest
import voluptuous as vol
from homeassistant.components.tankerkoenig import uuid4_string
class TestUUID4StringValidator(unittest.TestCase):
"""Test the UUID4 string custom validator."""
def test_uuid4_string(caplog):
"""Test string uuid validation."""
schema = vol.Schema(uuid4_string)
for value in ["Not a hex string", "0", 0]:
with pytest.raises(vol.Invalid):
schema(value)
with pytest.raises(vol.Invalid):
# the third block should start with 4
schema("a03d31b2-2eee-2acc-bb90-eec40be6ed23")
with pytest.raises(vol.Invalid):
# the fourth block should start with 8-a
schema("a03d31b2-2eee-4acc-1b90-eec40be6ed23")
_str = str(uuid.uuid4())
assert schema(_str) == _str
assert schema(_str.upper()) == _str