Avoid conversion of timestamps in jwt auth (#101856)
This commit is contained in:
parent
4e9ec82082
commit
2dfc8b9d7f
2 changed files with 13 additions and 7 deletions
|
@ -1,5 +1,6 @@
|
|||
"""Tests for the Home Assistant auth module."""
|
||||
from datetime import timedelta
|
||||
import time
|
||||
from typing import Any
|
||||
from unittest.mock import patch
|
||||
|
||||
|
@ -371,11 +372,15 @@ async def test_cannot_retrieve_expired_access_token(hass: HomeAssistant) -> None
|
|||
access_token = manager.async_create_access_token(refresh_token)
|
||||
assert await manager.async_validate_access_token(access_token) is refresh_token
|
||||
|
||||
# We patch time directly here because we want the access token to be created with
|
||||
# an expired time, but we do not want to freeze time so that jwt will compare it
|
||||
# to the patched time. If we freeze time for the test it will be frozen for jwt
|
||||
# as well and the token will not be expired.
|
||||
with patch(
|
||||
"homeassistant.util.dt.utcnow",
|
||||
return_value=dt_util.utcnow()
|
||||
- auth_const.ACCESS_TOKEN_EXPIRATION
|
||||
- timedelta(seconds=11),
|
||||
"homeassistant.auth.time.time",
|
||||
return_value=time.time()
|
||||
- auth_const.ACCESS_TOKEN_EXPIRATION.total_seconds()
|
||||
- 11,
|
||||
):
|
||||
access_token = manager.async_create_access_token(refresh_token)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue