Migrate Neato to use top-level imports (#27363)

* Neato move imports up

* Move one last import

* Fix tests
This commit is contained in:
Santobert 2019-10-10 08:08:11 +02:00 committed by Martin Hjelmare
parent 762a714d87
commit 80f6781f21
8 changed files with 26 additions and 26 deletions

View file

@ -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":

View file

@ -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,
)

View file

@ -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()

View file

@ -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

View file

@ -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__)

View file

@ -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,

View file

@ -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,

View file

@ -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