Fix charging error in Roomba integration (#49416)

This commit is contained in:
Jakub Bartkowiak 2021-04-24 05:22:56 +02:00 committed by GitHub
parent 0072923fbe
commit 33d4d545a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 18 additions and 19 deletions

View File

@ -3,7 +3,7 @@ import asyncio
import logging import logging
import async_timeout import async_timeout
from roombapy import Roomba, RoombaConnectionError from roombapy import RoombaConnectionError, RoombaFactory
from homeassistant import exceptions from homeassistant import exceptions
from homeassistant.const import ( from homeassistant.const import (
@ -40,7 +40,7 @@ async def async_setup_entry(hass, config_entry):
}, },
) )
roomba = Roomba( roomba = RoombaFactory.create_roomba(
address=config_entry.data[CONF_HOST], address=config_entry.data[CONF_HOST],
blid=config_entry.data[CONF_BLID], blid=config_entry.data[CONF_BLID],
password=config_entry.data[CONF_PASSWORD], password=config_entry.data[CONF_PASSWORD],

View File

@ -2,7 +2,7 @@
import asyncio import asyncio
from roombapy import Roomba from roombapy import RoombaFactory
from roombapy.discovery import RoombaDiscovery from roombapy.discovery import RoombaDiscovery
from roombapy.getpassword import RoombaPassword from roombapy.getpassword import RoombaPassword
import voluptuous as vol import voluptuous as vol
@ -40,7 +40,7 @@ async def validate_input(hass: core.HomeAssistant, data):
Data has the keys from DATA_SCHEMA with values provided by the user. Data has the keys from DATA_SCHEMA with values provided by the user.
""" """
roomba = Roomba( roomba = RoombaFactory.create_roomba(
address=data[CONF_HOST], address=data[CONF_HOST],
blid=data[CONF_BLID], blid=data[CONF_BLID],
password=data[CONF_PASSWORD], password=data[CONF_PASSWORD],

View File

@ -3,7 +3,7 @@
"name": "iRobot Roomba and Braava", "name": "iRobot Roomba and Braava",
"config_flow": true, "config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/roomba", "documentation": "https://www.home-assistant.io/integrations/roomba",
"requirements": ["roombapy==1.6.2"], "requirements": ["roombapy==1.6.3"],
"codeowners": ["@pschmitt", "@cyr-ius", "@shenxn"], "codeowners": ["@pschmitt", "@cyr-ius", "@shenxn"],
"dhcp": [ "dhcp": [
{ {

View File

@ -1991,7 +1991,7 @@ rocketchat-API==0.6.1
rokuecp==0.8.1 rokuecp==0.8.1
# homeassistant.components.roomba # homeassistant.components.roomba
roombapy==1.6.2 roombapy==1.6.3
# homeassistant.components.roon # homeassistant.components.roon
roonapi==0.0.32 roonapi==0.0.32

View File

@ -1058,7 +1058,7 @@ ring_doorbell==0.6.2
rokuecp==0.8.1 rokuecp==0.8.1
# homeassistant.components.roomba # homeassistant.components.roomba
roombapy==1.6.2 roombapy==1.6.3
# homeassistant.components.roon # homeassistant.components.roon
roonapi==0.0.32 roonapi==0.0.32

View File

@ -2,8 +2,7 @@
from unittest.mock import MagicMock, PropertyMock, patch from unittest.mock import MagicMock, PropertyMock, patch
import pytest import pytest
from roombapy import RoombaConnectionError from roombapy import RoombaConnectionError, RoombaInfo
from roombapy.roomba import RoombaInfo
from homeassistant import config_entries, data_entry_flow, setup from homeassistant import config_entries, data_entry_flow, setup
from homeassistant.components.dhcp import HOSTNAME, IP_ADDRESS, MAC_ADDRESS from homeassistant.components.dhcp import HOSTNAME, IP_ADDRESS, MAC_ADDRESS
@ -144,7 +143,7 @@ async def test_form_user_discovery_and_password_fetch(hass):
assert result2["step_id"] == "link" assert result2["step_id"] == "link"
with patch( with patch(
"homeassistant.components.roomba.config_flow.Roomba", "homeassistant.components.roomba.config_flow.RoombaFactory.create_roomba",
return_value=mocked_roomba, return_value=mocked_roomba,
), patch( ), patch(
"homeassistant.components.roomba.config_flow.RoombaPassword", "homeassistant.components.roomba.config_flow.RoombaPassword",
@ -260,7 +259,7 @@ async def test_form_user_discovery_manual_and_auto_password_fetch(hass):
assert result3["errors"] is None assert result3["errors"] is None
with patch( with patch(
"homeassistant.components.roomba.config_flow.Roomba", "homeassistant.components.roomba.config_flow.RoombaFactory.create_roomba",
return_value=mocked_roomba, return_value=mocked_roomba,
), patch( ), patch(
"homeassistant.components.roomba.config_flow.RoombaPassword", "homeassistant.components.roomba.config_flow.RoombaPassword",
@ -359,7 +358,7 @@ async def test_form_user_discovery_manual_and_auto_password_fetch_but_cannot_con
assert result3["errors"] is None assert result3["errors"] is None
with patch( with patch(
"homeassistant.components.roomba.config_flow.Roomba", "homeassistant.components.roomba.config_flow.RoombaFactory.create_roomba",
return_value=mocked_roomba, return_value=mocked_roomba,
), patch( ), patch(
"homeassistant.components.roomba.config_flow.RoombaPassword", "homeassistant.components.roomba.config_flow.RoombaPassword",
@ -410,7 +409,7 @@ async def test_form_user_discovery_no_devices_found_and_auto_password_fetch(hass
assert result2["errors"] is None assert result2["errors"] is None
with patch( with patch(
"homeassistant.components.roomba.config_flow.Roomba", "homeassistant.components.roomba.config_flow.RoombaFactory.create_roomba",
return_value=mocked_roomba, return_value=mocked_roomba,
), patch( ), patch(
"homeassistant.components.roomba.config_flow.RoombaPassword", "homeassistant.components.roomba.config_flow.RoombaPassword",
@ -479,7 +478,7 @@ async def test_form_user_discovery_no_devices_found_and_password_fetch_fails(has
await hass.async_block_till_done() await hass.async_block_till_done()
with patch( with patch(
"homeassistant.components.roomba.config_flow.Roomba", "homeassistant.components.roomba.config_flow.RoombaFactory.create_roomba",
return_value=mocked_roomba, return_value=mocked_roomba,
), patch( ), patch(
"homeassistant.components.roomba.async_setup_entry", "homeassistant.components.roomba.async_setup_entry",
@ -548,7 +547,7 @@ async def test_form_user_discovery_not_devices_found_and_password_fetch_fails_an
await hass.async_block_till_done() await hass.async_block_till_done()
with patch( with patch(
"homeassistant.components.roomba.config_flow.Roomba", "homeassistant.components.roomba.config_flow.RoombaFactory.create_roomba",
return_value=mocked_roomba, return_value=mocked_roomba,
), patch( ), patch(
"homeassistant.components.roomba.async_setup_entry", "homeassistant.components.roomba.async_setup_entry",
@ -606,7 +605,7 @@ async def test_form_user_discovery_and_password_fetch_gets_connection_refused(ha
await hass.async_block_till_done() await hass.async_block_till_done()
with patch( with patch(
"homeassistant.components.roomba.config_flow.Roomba", "homeassistant.components.roomba.config_flow.RoombaFactory.create_roomba",
return_value=mocked_roomba, return_value=mocked_roomba,
), patch( ), patch(
"homeassistant.components.roomba.async_setup_entry", "homeassistant.components.roomba.async_setup_entry",
@ -657,7 +656,7 @@ async def test_dhcp_discovery_and_roomba_discovery_finds(hass, discovery_data):
assert result["description_placeholders"] == {"name": "robot_name"} assert result["description_placeholders"] == {"name": "robot_name"}
with patch( with patch(
"homeassistant.components.roomba.config_flow.Roomba", "homeassistant.components.roomba.config_flow.RoombaFactory.create_roomba",
return_value=mocked_roomba, return_value=mocked_roomba,
), patch( ), patch(
"homeassistant.components.roomba.config_flow.RoombaPassword", "homeassistant.components.roomba.config_flow.RoombaPassword",
@ -727,7 +726,7 @@ async def test_dhcp_discovery_falls_back_to_manual(hass, discovery_data):
assert result3["errors"] is None assert result3["errors"] is None
with patch( with patch(
"homeassistant.components.roomba.config_flow.Roomba", "homeassistant.components.roomba.config_flow.RoombaFactory.create_roomba",
return_value=mocked_roomba, return_value=mocked_roomba,
), patch( ), patch(
"homeassistant.components.roomba.config_flow.RoombaPassword", "homeassistant.components.roomba.config_flow.RoombaPassword",
@ -789,7 +788,7 @@ async def test_dhcp_discovery_no_devices_falls_back_to_manual(hass, discovery_da
assert result2["errors"] is None assert result2["errors"] is None
with patch( with patch(
"homeassistant.components.roomba.config_flow.Roomba", "homeassistant.components.roomba.config_flow.RoombaFactory.create_roomba",
return_value=mocked_roomba, return_value=mocked_roomba,
), patch( ), patch(
"homeassistant.components.roomba.config_flow.RoombaPassword", "homeassistant.components.roomba.config_flow.RoombaPassword",