core/tests/components/august/test_init.py

33 lines
1.1 KiB
Python
Raw Normal View History

"""The tests for the august platform."""
import asyncio
from unittest.mock import MagicMock
from homeassistant.components import august
from tests.components.august.mocks import (
_mock_august_authentication,
_mock_august_authenticator,
)
async def test__refresh_access_token(hass):
"""Set up things to be run when tests are started."""
authentication = _mock_august_authentication("original_token", 1234)
authenticator = _mock_august_authenticator()
token_refresh_lock = asyncio.Lock()
data = august.AugustData(
hass, MagicMock(name="api"), authentication, authenticator, token_refresh_lock
)
await data._async_refresh_access_token_if_needed()
authenticator.refresh_access_token.assert_not_called()
authenticator.should_refresh.return_value = 1
authenticator.refresh_access_token.return_value = _mock_august_authentication(
"new_token", 5678
)
await data._async_refresh_access_token_if_needed()
authenticator.refresh_access_token.assert_called()
assert data._access_token == "new_token"
assert data._access_token_expires == 5678