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