Get user after login flow finished (#16047)
* Get user after login flow finished * Add optional parameter 'type' to /auth/login_flow * Update __init__.py
This commit is contained in:
parent
b1ba11510b
commit
f84a31871e
6 changed files with 83 additions and 52 deletions
|
@ -3,13 +3,14 @@ from datetime import timedelta
|
|||
from unittest.mock import patch
|
||||
|
||||
from homeassistant.auth.models import Credentials
|
||||
from homeassistant.components.auth import RESULT_TYPE_USER
|
||||
from homeassistant.setup import async_setup_component
|
||||
from homeassistant.util.dt import utcnow
|
||||
from homeassistant.components import auth
|
||||
|
||||
from . import async_setup_auth
|
||||
|
||||
from tests.common import CLIENT_ID, CLIENT_REDIRECT_URI
|
||||
from tests.common import CLIENT_ID, CLIENT_REDIRECT_URI, MockUser
|
||||
|
||||
|
||||
async def test_login_new_user_and_trying_refresh_token(hass, aiohttp_client):
|
||||
|
@ -74,26 +75,26 @@ async def test_login_new_user_and_trying_refresh_token(hass, aiohttp_client):
|
|||
assert resp.status == 200
|
||||
|
||||
|
||||
def test_credential_store_expiration():
|
||||
"""Test that the credential store will not return expired tokens."""
|
||||
store, retrieve = auth._create_cred_store()
|
||||
def test_auth_code_store_expiration():
|
||||
"""Test that the auth code store will not return expired tokens."""
|
||||
store, retrieve = auth._create_auth_code_store()
|
||||
client_id = 'bla'
|
||||
credentials = 'creds'
|
||||
user = MockUser(id='mock_user')
|
||||
now = utcnow()
|
||||
|
||||
with patch('homeassistant.util.dt.utcnow', return_value=now):
|
||||
code = store(client_id, credentials)
|
||||
code = store(client_id, user)
|
||||
|
||||
with patch('homeassistant.util.dt.utcnow',
|
||||
return_value=now + timedelta(minutes=10)):
|
||||
assert retrieve(client_id, code) is None
|
||||
assert retrieve(client_id, RESULT_TYPE_USER, code) is None
|
||||
|
||||
with patch('homeassistant.util.dt.utcnow', return_value=now):
|
||||
code = store(client_id, credentials)
|
||||
code = store(client_id, user)
|
||||
|
||||
with patch('homeassistant.util.dt.utcnow',
|
||||
return_value=now + timedelta(minutes=9, seconds=59)):
|
||||
assert retrieve(client_id, code) == credentials
|
||||
assert retrieve(client_id, RESULT_TYPE_USER, code) == user
|
||||
|
||||
|
||||
async def test_ws_current_user(hass, hass_ws_client, hass_access_token):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue