56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
|
"""Tessie common helpers for tests."""
|
||
|
|
||
|
from http import HTTPStatus
|
||
|
from unittest.mock import patch
|
||
|
|
||
|
from aiohttp import ClientConnectionError, ClientResponseError
|
||
|
from aiohttp.client import RequestInfo
|
||
|
|
||
|
from homeassistant.components.tessie.const import DOMAIN
|
||
|
from homeassistant.const import CONF_ACCESS_TOKEN
|
||
|
from homeassistant.core import HomeAssistant
|
||
|
|
||
|
from tests.common import MockConfigEntry, load_json_object_fixture
|
||
|
|
||
|
TEST_STATE_OF_ALL_VEHICLES = load_json_object_fixture("vehicles.json", DOMAIN)
|
||
|
TEST_VEHICLE_STATE_ONLINE = load_json_object_fixture("online.json", DOMAIN)
|
||
|
TEST_VEHICLE_STATE_ASLEEP = load_json_object_fixture("asleep.json", DOMAIN)
|
||
|
|
||
|
TEST_CONFIG = {CONF_ACCESS_TOKEN: "1234567890"}
|
||
|
TESSIE_URL = "https://api.tessie.com/"
|
||
|
|
||
|
TEST_REQUEST_INFO = RequestInfo(
|
||
|
url=TESSIE_URL, method="GET", headers={}, real_url=TESSIE_URL
|
||
|
)
|
||
|
|
||
|
ERROR_AUTH = ClientResponseError(
|
||
|
request_info=TEST_REQUEST_INFO, history=None, status=HTTPStatus.UNAUTHORIZED
|
||
|
)
|
||
|
ERROR_TIMEOUT = ClientResponseError(
|
||
|
request_info=TEST_REQUEST_INFO, history=None, status=HTTPStatus.REQUEST_TIMEOUT
|
||
|
)
|
||
|
ERROR_UNKNOWN = ClientResponseError(
|
||
|
request_info=TEST_REQUEST_INFO, history=None, status=HTTPStatus.BAD_REQUEST
|
||
|
)
|
||
|
ERROR_CONNECTION = ClientConnectionError()
|
||
|
|
||
|
|
||
|
async def setup_platform(hass: HomeAssistant, side_effect=None):
|
||
|
"""Set up the Tessie platform."""
|
||
|
|
||
|
mock_entry = MockConfigEntry(
|
||
|
domain=DOMAIN,
|
||
|
data=TEST_CONFIG,
|
||
|
)
|
||
|
mock_entry.add_to_hass(hass)
|
||
|
|
||
|
with patch(
|
||
|
"homeassistant.components.tessie.get_state_of_all_vehicles",
|
||
|
return_value=TEST_STATE_OF_ALL_VEHICLES,
|
||
|
side_effect=side_effect,
|
||
|
):
|
||
|
await hass.config_entries.async_setup(mock_entry.entry_id)
|
||
|
await hass.async_block_till_done()
|
||
|
|
||
|
return mock_entry
|