mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 16:57:10 +00:00
Make auth test fixtures async (#91263)
Make auth fixtures async in tests
This commit is contained in:
parent
e4d2409ca4
commit
687c035bb2
@ -644,29 +644,25 @@ def hass_owner_user(
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def hass_admin_user(
|
async def hass_admin_user(
|
||||||
hass: HomeAssistant, local_auth: homeassistant.HassAuthProvider
|
hass: HomeAssistant, local_auth: homeassistant.HassAuthProvider
|
||||||
) -> MockUser:
|
) -> MockUser:
|
||||||
"""Return a Home Assistant admin user."""
|
"""Return a Home Assistant admin user."""
|
||||||
admin_group = hass.loop.run_until_complete(
|
admin_group = await hass.auth.async_get_group(GROUP_ID_ADMIN)
|
||||||
hass.auth.async_get_group(GROUP_ID_ADMIN)
|
|
||||||
)
|
|
||||||
return MockUser(groups=[admin_group]).add_to_hass(hass)
|
return MockUser(groups=[admin_group]).add_to_hass(hass)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def hass_read_only_user(
|
async def hass_read_only_user(
|
||||||
hass: HomeAssistant, local_auth: homeassistant.HassAuthProvider
|
hass: HomeAssistant, local_auth: homeassistant.HassAuthProvider
|
||||||
) -> MockUser:
|
) -> MockUser:
|
||||||
"""Return a Home Assistant read only user."""
|
"""Return a Home Assistant read only user."""
|
||||||
read_only_group = hass.loop.run_until_complete(
|
read_only_group = await hass.auth.async_get_group(GROUP_ID_READ_ONLY)
|
||||||
hass.auth.async_get_group(GROUP_ID_READ_ONLY)
|
|
||||||
)
|
|
||||||
return MockUser(groups=[read_only_group]).add_to_hass(hass)
|
return MockUser(groups=[read_only_group]).add_to_hass(hass)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def hass_read_only_access_token(
|
async def hass_read_only_access_token(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
hass_read_only_user: MockUser,
|
hass_read_only_user: MockUser,
|
||||||
local_auth: homeassistant.HassAuthProvider,
|
local_auth: homeassistant.HassAuthProvider,
|
||||||
@ -681,37 +677,31 @@ def hass_read_only_access_token(
|
|||||||
)
|
)
|
||||||
hass_read_only_user.credentials.append(credential)
|
hass_read_only_user.credentials.append(credential)
|
||||||
|
|
||||||
refresh_token = hass.loop.run_until_complete(
|
refresh_token = await hass.auth.async_create_refresh_token(
|
||||||
hass.auth.async_create_refresh_token(
|
hass_read_only_user, CLIENT_ID, credential=credential
|
||||||
hass_read_only_user, CLIENT_ID, credential=credential
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
return hass.auth.async_create_access_token(refresh_token)
|
return hass.auth.async_create_access_token(refresh_token)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def hass_supervisor_user(
|
async def hass_supervisor_user(
|
||||||
hass: HomeAssistant, local_auth: homeassistant.HassAuthProvider
|
hass: HomeAssistant, local_auth: homeassistant.HassAuthProvider
|
||||||
) -> MockUser:
|
) -> MockUser:
|
||||||
"""Return the Home Assistant Supervisor user."""
|
"""Return the Home Assistant Supervisor user."""
|
||||||
admin_group = hass.loop.run_until_complete(
|
admin_group = await hass.auth.async_get_group(GROUP_ID_ADMIN)
|
||||||
hass.auth.async_get_group(GROUP_ID_ADMIN)
|
|
||||||
)
|
|
||||||
return MockUser(
|
return MockUser(
|
||||||
name=HASSIO_USER_NAME, groups=[admin_group], system_generated=True
|
name=HASSIO_USER_NAME, groups=[admin_group], system_generated=True
|
||||||
).add_to_hass(hass)
|
).add_to_hass(hass)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def hass_supervisor_access_token(
|
async def hass_supervisor_access_token(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
hass_supervisor_user,
|
hass_supervisor_user,
|
||||||
local_auth: homeassistant.HassAuthProvider,
|
local_auth: homeassistant.HassAuthProvider,
|
||||||
) -> str:
|
) -> str:
|
||||||
"""Return a Home Assistant Supervisor access token."""
|
"""Return a Home Assistant Supervisor access token."""
|
||||||
refresh_token = hass.loop.run_until_complete(
|
refresh_token = await hass.auth.async_create_refresh_token(hass_supervisor_user)
|
||||||
hass.auth.async_create_refresh_token(hass_supervisor_user)
|
|
||||||
)
|
|
||||||
return hass.auth.async_create_access_token(refresh_token)
|
return hass.auth.async_create_access_token(refresh_token)
|
||||||
|
|
||||||
|
|
||||||
@ -730,12 +720,12 @@ def legacy_auth(
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def local_auth(hass: HomeAssistant) -> homeassistant.HassAuthProvider:
|
async def local_auth(hass: HomeAssistant) -> homeassistant.HassAuthProvider:
|
||||||
"""Load local auth provider."""
|
"""Load local auth provider."""
|
||||||
prv = homeassistant.HassAuthProvider(
|
prv = homeassistant.HassAuthProvider(
|
||||||
hass, hass.auth._store, {"type": "homeassistant"}
|
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
|
hass.auth._providers[(prv.type, prv.id)] = prv
|
||||||
return prv
|
return prv
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user