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

This reverts commit 49c2a4a4e3.
The validation was causing more problems than it was fixing, so removed
it completely
pull/33130/head
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
import logging
from math import ceil
from uuid import UUID
import pytankerkoenig
import voluptuous as vol
@ -26,26 +25,11 @@ _LOGGER = logging.getLogger(__name__)
DEFAULT_RADIUS = 2
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(
{
DOMAIN: vol.Schema(
{
vol.Required(CONF_API_KEY): uuid4_string,
vol.Required(CONF_API_KEY): cv.string,
vol.Optional(
CONF_SCAN_INTERVAL, default=DEFAULT_SCAN_INTERVAL
): cv.time_period,
@ -66,7 +50,7 @@ CONFIG_SCHEMA = vol.Schema(
cv.positive_int, vol.Range(min=1)
),
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
pyspcwebgw==0.4.0
# homeassistant.components.tankerkoenig
pytankerkoenig==0.0.6
# homeassistant.components.ecobee
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