Migrate Neato to use top-level imports (#27363)
* Neato move imports up * Move one last import * Fix tests
This commit is contained in:
parent
762a714d87
commit
80f6781f21
8 changed files with 26 additions and 26 deletions
|
@ -3,8 +3,9 @@ import asyncio
|
|||
import logging
|
||||
from datetime import timedelta
|
||||
|
||||
from pybotvac.exceptions import NeatoException, NeatoLoginException, NeatoRobotException
|
||||
import voluptuous as vol
|
||||
from pybotvac import Account, Neato, Vorwerk
|
||||
from pybotvac.exceptions import NeatoException, NeatoLoginException, NeatoRobotException
|
||||
|
||||
from homeassistant.config_entries import SOURCE_IMPORT
|
||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
||||
|
@ -17,9 +18,9 @@ from .const import (
|
|||
NEATO_CONFIG,
|
||||
NEATO_DOMAIN,
|
||||
NEATO_LOGIN,
|
||||
NEATO_ROBOTS,
|
||||
NEATO_PERSISTENT_MAPS,
|
||||
NEATO_MAP_DATA,
|
||||
NEATO_PERSISTENT_MAPS,
|
||||
NEATO_ROBOTS,
|
||||
SCAN_INTERVAL_MINUTES,
|
||||
VALID_VENDORS,
|
||||
)
|
||||
|
@ -91,8 +92,6 @@ async def async_setup(hass, config):
|
|||
|
||||
async def async_setup_entry(hass, entry):
|
||||
"""Set up config entry."""
|
||||
from pybotvac import Account, Neato, Vorwerk
|
||||
|
||||
if entry.data[CONF_VENDOR] == "neato":
|
||||
hass.data[NEATO_LOGIN] = NeatoHub(hass, entry.data, Account, Neato)
|
||||
elif entry.data[CONF_VENDOR] == "vorwerk":
|
||||
|
|
|
@ -8,9 +8,9 @@ from homeassistant.components.camera import Camera
|
|||
|
||||
from .const import (
|
||||
NEATO_DOMAIN,
|
||||
NEATO_LOGIN,
|
||||
NEATO_MAP_DATA,
|
||||
NEATO_ROBOTS,
|
||||
NEATO_LOGIN,
|
||||
SCAN_INTERVAL_MINUTES,
|
||||
)
|
||||
|
||||
|
|
|
@ -2,8 +2,9 @@
|
|||
|
||||
import logging
|
||||
|
||||
import voluptuous as vol
|
||||
from pybotvac import Account, Neato, Vorwerk
|
||||
from pybotvac.exceptions import NeatoLoginException, NeatoRobotException
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant import config_entries
|
||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
||||
|
@ -11,7 +12,6 @@ from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
|||
# pylint: disable=unused-import
|
||||
from .const import CONF_VENDOR, NEATO_DOMAIN, VALID_VENDORS
|
||||
|
||||
|
||||
DOCS_URL = "https://www.home-assistant.io/components/neato"
|
||||
DEFAULT_VENDOR = "neato"
|
||||
|
||||
|
@ -96,8 +96,6 @@ class NeatoConfigFlow(config_entries.ConfigFlow, domain=NEATO_DOMAIN):
|
|||
@staticmethod
|
||||
def try_login(username, password, vendor):
|
||||
"""Try logging in to device and return any errors."""
|
||||
from pybotvac import Account, Neato, Vorwerk
|
||||
|
||||
this_vendor = None
|
||||
if vendor == "vorwerk":
|
||||
this_vendor = Vorwerk()
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
NEATO_DOMAIN = "neato"
|
||||
|
||||
CONF_VENDOR = "vendor"
|
||||
NEATO_ROBOTS = "neato_robots"
|
||||
NEATO_LOGIN = "neato_login"
|
||||
NEATO_CONFIG = "neato_config"
|
||||
NEATO_LOGIN = "neato_login"
|
||||
NEATO_MAP_DATA = "neato_map_data"
|
||||
NEATO_PERSISTENT_MAPS = "neato_persistent_maps"
|
||||
NEATO_ROBOTS = "neato_robots"
|
||||
|
||||
SCAN_INTERVAL_MINUTES = 5
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
"""Support for Neato sensors."""
|
||||
from datetime import timedelta
|
||||
import logging
|
||||
|
||||
from datetime import timedelta
|
||||
from pybotvac.exceptions import NeatoRobotException
|
||||
|
||||
from homeassistant.components.sensor import DEVICE_CLASS_BATTERY
|
||||
from homeassistant.helpers.entity import Entity
|
||||
|
||||
from .const import NEATO_ROBOTS, NEATO_LOGIN, NEATO_DOMAIN, SCAN_INTERVAL_MINUTES
|
||||
from .const import NEATO_DOMAIN, NEATO_LOGIN, NEATO_ROBOTS, SCAN_INTERVAL_MINUTES
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ from datetime import timedelta
|
|||
import logging
|
||||
|
||||
from pybotvac.exceptions import NeatoRobotException
|
||||
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.vacuum import (
|
||||
|
@ -35,8 +34,8 @@ from .const import (
|
|||
ALERTS,
|
||||
ERRORS,
|
||||
MODE,
|
||||
NEATO_LOGIN,
|
||||
NEATO_DOMAIN,
|
||||
NEATO_LOGIN,
|
||||
NEATO_MAP_DATA,
|
||||
NEATO_PERSISTENT_MAPS,
|
||||
NEATO_ROBOTS,
|
||||
|
|
|
@ -2,9 +2,11 @@
|
|||
import pytest
|
||||
from unittest.mock import patch
|
||||
|
||||
from pybotvac.exceptions import NeatoLoginException, NeatoRobotException
|
||||
|
||||
from homeassistant import data_entry_flow
|
||||
from homeassistant.components.neato import config_flow
|
||||
from homeassistant.components.neato.const import NEATO_DOMAIN, CONF_VENDOR
|
||||
from homeassistant.components.neato.const import CONF_VENDOR, NEATO_DOMAIN
|
||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
||||
|
||||
from tests.common import MockConfigEntry
|
||||
|
@ -19,7 +21,7 @@ VENDOR_INVALID = "invalid"
|
|||
@pytest.fixture(name="account")
|
||||
def mock_controller_login():
|
||||
"""Mock a successful login."""
|
||||
with patch("pybotvac.Account", return_value=True):
|
||||
with patch("homeassistant.components.neato.config_flow.Account", return_value=True):
|
||||
yield
|
||||
|
||||
|
||||
|
@ -103,11 +105,12 @@ async def test_abort_if_already_setup(hass, account):
|
|||
|
||||
async def test_abort_on_invalid_credentials(hass):
|
||||
"""Test when we have invalid credentials."""
|
||||
from pybotvac.exceptions import NeatoLoginException
|
||||
|
||||
flow = init_config_flow(hass)
|
||||
|
||||
with patch("pybotvac.Account", side_effect=NeatoLoginException()):
|
||||
with patch(
|
||||
"homeassistant.components.neato.config_flow.Account",
|
||||
side_effect=NeatoLoginException(),
|
||||
):
|
||||
result = await flow.async_step_user(
|
||||
{
|
||||
CONF_USERNAME: USERNAME,
|
||||
|
@ -131,11 +134,12 @@ async def test_abort_on_invalid_credentials(hass):
|
|||
|
||||
async def test_abort_on_unexpected_error(hass):
|
||||
"""Test when we have an unexpected error."""
|
||||
from pybotvac.exceptions import NeatoRobotException
|
||||
|
||||
flow = init_config_flow(hass)
|
||||
|
||||
with patch("pybotvac.Account", side_effect=NeatoRobotException()):
|
||||
with patch(
|
||||
"homeassistant.components.neato.config_flow.Account",
|
||||
side_effect=NeatoRobotException(),
|
||||
):
|
||||
result = await flow.async_step_user(
|
||||
{
|
||||
CONF_USERNAME: USERNAME,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import pytest
|
||||
from unittest.mock import patch
|
||||
|
||||
from homeassistant.components.neato.const import NEATO_DOMAIN, CONF_VENDOR
|
||||
from homeassistant.components.neato.const import CONF_VENDOR, NEATO_DOMAIN
|
||||
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
|
||||
from homeassistant.setup import async_setup_component
|
||||
|
||||
|
@ -30,7 +30,7 @@ INVALID_CONFIG = {
|
|||
@pytest.fixture(name="account")
|
||||
def mock_controller_login():
|
||||
"""Mock a successful login."""
|
||||
with patch("pybotvac.Account", return_value=True):
|
||||
with patch("homeassistant.components.neato.config_flow.Account", return_value=True):
|
||||
yield
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue