mirror of
https://github.com/home-assistant/core.git
synced 2025-08-10 08:05:06 +02:00
fix after merge
This commit is contained in:
@@ -6,6 +6,13 @@ from samsungctl.exceptions import AccessDenied, UnhandledResponse
|
|||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant import config_entries
|
from homeassistant import config_entries
|
||||||
|
from homeassistant.components.ssdp import (
|
||||||
|
ATTR_SSDP_LOCATION,
|
||||||
|
ATTR_UPNP_FRIENDLY_NAME,
|
||||||
|
ATTR_UPNP_MANUFACTURER,
|
||||||
|
ATTR_UPNP_MODEL_NAME,
|
||||||
|
ATTR_UPNP_UDN,
|
||||||
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_BROADCAST_ADDRESS,
|
CONF_BROADCAST_ADDRESS,
|
||||||
CONF_HOST,
|
CONF_HOST,
|
||||||
@@ -16,17 +23,9 @@ from homeassistant.const import (
|
|||||||
CONF_PORT,
|
CONF_PORT,
|
||||||
CONF_TIMEOUT,
|
CONF_TIMEOUT,
|
||||||
)
|
)
|
||||||
from homeassistant.components.ssdp import (
|
|
||||||
ATTR_HOST,
|
|
||||||
ATTR_NAME,
|
|
||||||
ATTR_MODEL_NAME,
|
|
||||||
ATTR_MANUFACTURER,
|
|
||||||
ATTR_UDN,
|
|
||||||
)
|
|
||||||
|
|
||||||
from .const import CONF_MANUFACTURER, CONF_MODEL, DOMAIN, LOGGER, METHODS
|
from .const import CONF_MANUFACTURER, CONF_MODEL, DOMAIN, LOGGER, METHODS
|
||||||
|
|
||||||
|
|
||||||
DATA_SCHEMA = vol.Schema({vol.Required(CONF_HOST): str, vol.Required(CONF_NAME): str})
|
DATA_SCHEMA = vol.Schema({vol.Required(CONF_HOST): str, vol.Required(CONF_NAME): str})
|
||||||
|
|
||||||
RESULT_AUTH_MISSING = "auth_missing"
|
RESULT_AUTH_MISSING = "auth_missing"
|
||||||
@@ -148,7 +147,7 @@ class SamsungTVConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
async def async_step_ssdp(self, user_input=None):
|
async def async_step_ssdp(self, user_input=None):
|
||||||
"""Handle a flow initialized by discovery."""
|
"""Handle a flow initialized by discovery."""
|
||||||
ip_address = await self.hass.async_add_executor_job(
|
ip_address = await self.hass.async_add_executor_job(
|
||||||
_get_ip, user_input[ATTR_HOST]
|
_get_ip, user_input[ATTR_SSDP_LOCATION]
|
||||||
)
|
)
|
||||||
|
|
||||||
if any(
|
if any(
|
||||||
@@ -160,15 +159,15 @@ class SamsungTVConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||||||
if _is_already_configured(self.hass, ip_address):
|
if _is_already_configured(self.hass, ip_address):
|
||||||
return self.async_abort(reason="already_configured")
|
return self.async_abort(reason="already_configured")
|
||||||
|
|
||||||
self._host = user_input[ATTR_HOST]
|
self._host = user_input[ATTR_SSDP_LOCATION]
|
||||||
self._ip = self.context[CONF_IP_ADDRESS] = ip_address
|
self._ip = self.context[CONF_IP_ADDRESS] = ip_address
|
||||||
self._manufacturer = user_input[ATTR_MANUFACTURER]
|
self._manufacturer = user_input[ATTR_UPNP_MANUFACTURER]
|
||||||
self._model = user_input[ATTR_MODEL_NAME]
|
self._model = user_input[ATTR_UPNP_MODEL_NAME]
|
||||||
self._name = user_input[ATTR_NAME]
|
self._name = user_input[ATTR_UPNP_FRIENDLY_NAME]
|
||||||
if self._name.startswith("[TV]"):
|
if self._name.startswith("[TV]"):
|
||||||
self._name = self._name[4:]
|
self._name = self._name[4:]
|
||||||
self._title = f"{self._name} ({self._model})"
|
self._title = f"{self._name} ({self._model})"
|
||||||
self._uuid = user_input[ATTR_UDN]
|
self._uuid = user_input[ATTR_UPNP_UDN]
|
||||||
if self._uuid.startswith("uuid:"):
|
if self._uuid.startswith("uuid:"):
|
||||||
self._uuid = self._uuid[5:]
|
self._uuid = self._uuid[5:]
|
||||||
|
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
"""Tests for Samsung TV config flow."""
|
"""Tests for Samsung TV config flow."""
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
from asynctest import mock
|
from asynctest import mock
|
||||||
import pytest
|
import pytest
|
||||||
from samsungctl.exceptions import AccessDenied, UnhandledResponse
|
from samsungctl.exceptions import AccessDenied, UnhandledResponse
|
||||||
from unittest.mock import patch
|
|
||||||
|
|
||||||
from homeassistant.components.samsungtv.const import (
|
from homeassistant.components.samsungtv.const import (
|
||||||
CONF_MANUFACTURER,
|
CONF_MANUFACTURER,
|
||||||
@@ -10,28 +11,28 @@ from homeassistant.components.samsungtv.const import (
|
|||||||
DOMAIN,
|
DOMAIN,
|
||||||
)
|
)
|
||||||
from homeassistant.components.ssdp import (
|
from homeassistant.components.ssdp import (
|
||||||
ATTR_HOST,
|
ATTR_SSDP_LOCATION,
|
||||||
ATTR_NAME,
|
ATTR_UPNP_FRIENDLY_NAME,
|
||||||
ATTR_MODEL_NAME,
|
ATTR_UPNP_MANUFACTURER,
|
||||||
ATTR_MANUFACTURER,
|
ATTR_UPNP_MODEL_NAME,
|
||||||
ATTR_UDN,
|
ATTR_UPNP_UDN,
|
||||||
)
|
)
|
||||||
from homeassistant.const import CONF_HOST, CONF_ID, CONF_NAME
|
from homeassistant.const import CONF_HOST, CONF_ID, CONF_NAME
|
||||||
|
|
||||||
MOCK_USER_DATA = {CONF_HOST: "fake_host", CONF_NAME: "fake_name"}
|
MOCK_USER_DATA = {CONF_HOST: "fake_host", CONF_NAME: "fake_name"}
|
||||||
MOCK_SSDP_DATA = {
|
MOCK_SSDP_DATA = {
|
||||||
ATTR_HOST: "fake_host",
|
ATTR_SSDP_LOCATION: "fake_host",
|
||||||
ATTR_NAME: "[TV]fake_name",
|
ATTR_UPNP_FRIENDLY_NAME: "[TV]fake_name",
|
||||||
ATTR_MANUFACTURER: "fake_manufacturer",
|
ATTR_UPNP_MANUFACTURER: "fake_manufacturer",
|
||||||
ATTR_MODEL_NAME: "fake_model",
|
ATTR_UPNP_MODEL_NAME: "fake_model",
|
||||||
ATTR_UDN: "uuid:fake_uuid",
|
ATTR_UPNP_UDN: "uuid:fake_uuid",
|
||||||
}
|
}
|
||||||
MOCK_SSDP_DATA_NOPREFIX = {
|
MOCK_SSDP_DATA_NOPREFIX = {
|
||||||
ATTR_HOST: "fake2_host",
|
ATTR_SSDP_LOCATION: "fake2_host",
|
||||||
ATTR_NAME: "fake2_name",
|
ATTR_UPNP_FRIENDLY_NAME: "fake2_name",
|
||||||
ATTR_MANUFACTURER: "fake2_manufacturer",
|
ATTR_UPNP_MANUFACTURER: "fake2_manufacturer",
|
||||||
ATTR_MODEL_NAME: "fake2_model",
|
ATTR_UPNP_MODEL_NAME: "fake2_model",
|
||||||
ATTR_UDN: "fake2_uuid",
|
ATTR_UPNP_UDN: "fake2_uuid",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user