mirror of
https://github.com/home-assistant/core.git
synced 2025-07-15 09:17:10 +00:00
Ensure API is called correctly in here_travel_time (#68840)
This commit is contained in:
parent
04bb156e99
commit
259b069dd9
@ -19,5 +19,5 @@ def valid_response_fixture():
|
|||||||
with patch(
|
with patch(
|
||||||
"herepy.RoutingApi.public_transport_timetable",
|
"herepy.RoutingApi.public_transport_timetable",
|
||||||
return_value=RESPONSE,
|
return_value=RESPONSE,
|
||||||
):
|
) as mock:
|
||||||
yield
|
yield mock
|
||||||
|
@ -1,9 +1,14 @@
|
|||||||
"""The test for the HERE Travel Time sensor platform."""
|
"""The test for the HERE Travel Time sensor platform."""
|
||||||
from unittest.mock import patch
|
from unittest.mock import MagicMock, patch
|
||||||
|
|
||||||
|
from herepy.here_enum import RouteMode
|
||||||
from herepy.routing_api import InvalidCredentialsError, NoRouteFoundError
|
from herepy.routing_api import InvalidCredentialsError, NoRouteFoundError
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
from homeassistant.components.here_travel_time.const import (
|
||||||
|
ROUTE_MODE_FASTEST,
|
||||||
|
TRAFFIC_MODE_ENABLED,
|
||||||
|
)
|
||||||
from homeassistant.components.here_travel_time.sensor import (
|
from homeassistant.components.here_travel_time.sensor import (
|
||||||
ATTR_ATTRIBUTION,
|
ATTR_ATTRIBUTION,
|
||||||
ATTR_DESTINATION,
|
ATTR_DESTINATION,
|
||||||
@ -151,20 +156,13 @@ async def test_sensor(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_entity_ids(hass, valid_response):
|
async def test_entity_ids(hass, valid_response: MagicMock):
|
||||||
"""Test that origin/destination supplied by a zone works."""
|
"""Test that origin/destination supplied by entities works."""
|
||||||
utcnow = dt_util.utcnow()
|
utcnow = dt_util.utcnow()
|
||||||
# Patching 'utcnow' to gain more control over the timed update.
|
# Patching 'utcnow' to gain more control over the timed update.
|
||||||
with patch("homeassistant.util.dt.utcnow", return_value=utcnow):
|
with patch("homeassistant.util.dt.utcnow", return_value=utcnow):
|
||||||
zone_config = {
|
zone_config = {
|
||||||
"zone": [
|
"zone": [
|
||||||
{
|
|
||||||
"name": "Destination",
|
|
||||||
"latitude": CAR_DESTINATION_LATITUDE,
|
|
||||||
"longitude": CAR_DESTINATION_LONGITUDE,
|
|
||||||
"radius": 250,
|
|
||||||
"passive": False,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Origin",
|
"name": "Origin",
|
||||||
"latitude": CAR_ORIGIN_LATITUDE,
|
"latitude": CAR_ORIGIN_LATITUDE,
|
||||||
@ -174,17 +172,25 @@ async def test_entity_ids(hass, valid_response):
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
assert await async_setup_component(hass, "zone", zone_config)
|
||||||
|
hass.states.async_set(
|
||||||
|
"device_tracker.test",
|
||||||
|
"not_home",
|
||||||
|
{
|
||||||
|
"latitude": float(CAR_DESTINATION_LATITUDE),
|
||||||
|
"longitude": float(CAR_DESTINATION_LONGITUDE),
|
||||||
|
},
|
||||||
|
)
|
||||||
config = {
|
config = {
|
||||||
DOMAIN: {
|
DOMAIN: {
|
||||||
"platform": PLATFORM,
|
"platform": PLATFORM,
|
||||||
"name": "test",
|
"name": "test",
|
||||||
"origin_entity_id": "zone.origin",
|
"origin_entity_id": "zone.origin",
|
||||||
"destination_entity_id": "zone.destination",
|
"destination_entity_id": "device_tracker.test",
|
||||||
"api_key": API_KEY,
|
"api_key": API_KEY,
|
||||||
"mode": TRAVEL_MODE_TRUCK,
|
"mode": TRAVEL_MODE_TRUCK,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assert await async_setup_component(hass, "zone", zone_config)
|
|
||||||
assert await async_setup_component(hass, DOMAIN, config)
|
assert await async_setup_component(hass, DOMAIN, config)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
@ -194,6 +200,19 @@ async def test_entity_ids(hass, valid_response):
|
|||||||
sensor = hass.states.get("sensor.test")
|
sensor = hass.states.get("sensor.test")
|
||||||
assert sensor.attributes.get(ATTR_DISTANCE) == 23.903
|
assert sensor.attributes.get(ATTR_DISTANCE) == 23.903
|
||||||
|
|
||||||
|
valid_response.assert_called_with(
|
||||||
|
[CAR_ORIGIN_LATITUDE, CAR_ORIGIN_LONGITUDE],
|
||||||
|
[CAR_DESTINATION_LATITUDE, CAR_DESTINATION_LONGITUDE],
|
||||||
|
True,
|
||||||
|
[
|
||||||
|
RouteMode[ROUTE_MODE_FASTEST],
|
||||||
|
RouteMode[TRAVEL_MODE_TRUCK],
|
||||||
|
RouteMode[TRAFFIC_MODE_ENABLED],
|
||||||
|
],
|
||||||
|
arrival=None,
|
||||||
|
departure="now",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
async def test_route_not_found(hass, caplog):
|
async def test_route_not_found(hass, caplog):
|
||||||
"""Test that route not found error is correctly handled."""
|
"""Test that route not found error is correctly handled."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user