From 687c035bb2ab52606aa3bcc59a2e9790e54144cc Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Thu, 13 Apr 2023 02:43:50 +0200 Subject: [PATCH] Make auth test fixtures async (#91263) Make auth fixtures async in tests --- tests/conftest.py | 36 +++++++++++++----------------------- 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 96f219fd466..b1d0a0a7de8 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -644,29 +644,25 @@ def hass_owner_user( @pytest.fixture -def hass_admin_user( +async def hass_admin_user( hass: HomeAssistant, local_auth: homeassistant.HassAuthProvider ) -> MockUser: """Return a Home Assistant admin user.""" - admin_group = hass.loop.run_until_complete( - hass.auth.async_get_group(GROUP_ID_ADMIN) - ) + admin_group = await hass.auth.async_get_group(GROUP_ID_ADMIN) return MockUser(groups=[admin_group]).add_to_hass(hass) @pytest.fixture -def hass_read_only_user( +async def hass_read_only_user( hass: HomeAssistant, local_auth: homeassistant.HassAuthProvider ) -> MockUser: """Return a Home Assistant read only user.""" - read_only_group = hass.loop.run_until_complete( - hass.auth.async_get_group(GROUP_ID_READ_ONLY) - ) + read_only_group = await hass.auth.async_get_group(GROUP_ID_READ_ONLY) return MockUser(groups=[read_only_group]).add_to_hass(hass) @pytest.fixture -def hass_read_only_access_token( +async def hass_read_only_access_token( hass: HomeAssistant, hass_read_only_user: MockUser, local_auth: homeassistant.HassAuthProvider, @@ -681,37 +677,31 @@ def hass_read_only_access_token( ) hass_read_only_user.credentials.append(credential) - refresh_token = hass.loop.run_until_complete( - hass.auth.async_create_refresh_token( - hass_read_only_user, CLIENT_ID, credential=credential - ) + refresh_token = await hass.auth.async_create_refresh_token( + hass_read_only_user, CLIENT_ID, credential=credential ) return hass.auth.async_create_access_token(refresh_token) @pytest.fixture -def hass_supervisor_user( +async def hass_supervisor_user( hass: HomeAssistant, local_auth: homeassistant.HassAuthProvider ) -> MockUser: """Return the Home Assistant Supervisor user.""" - admin_group = hass.loop.run_until_complete( - hass.auth.async_get_group(GROUP_ID_ADMIN) - ) + admin_group = await hass.auth.async_get_group(GROUP_ID_ADMIN) return MockUser( name=HASSIO_USER_NAME, groups=[admin_group], system_generated=True ).add_to_hass(hass) @pytest.fixture -def hass_supervisor_access_token( +async def hass_supervisor_access_token( hass: HomeAssistant, hass_supervisor_user, local_auth: homeassistant.HassAuthProvider, ) -> str: """Return a Home Assistant Supervisor access token.""" - refresh_token = hass.loop.run_until_complete( - hass.auth.async_create_refresh_token(hass_supervisor_user) - ) + refresh_token = await hass.auth.async_create_refresh_token(hass_supervisor_user) return hass.auth.async_create_access_token(refresh_token) @@ -730,12 +720,12 @@ def legacy_auth( @pytest.fixture -def local_auth(hass: HomeAssistant) -> homeassistant.HassAuthProvider: +async def local_auth(hass: HomeAssistant) -> homeassistant.HassAuthProvider: """Load local auth provider.""" prv = homeassistant.HassAuthProvider( hass, hass.auth._store, {"type": "homeassistant"} ) - hass.loop.run_until_complete(prv.async_initialize()) + await prv.async_initialize() hass.auth._providers[(prv.type, prv.id)] = prv return prv