Make auth test fixtures async (#91263)

Make auth fixtures async in tests
pull/91321/head
epenet 2023-04-13 02:43:50 +02:00 committed by GitHub
parent e4d2409ca4
commit 687c035bb2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 23 deletions

View File

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