8000 Use async_load_fixture in async test functions (b-i) by epenet · Pull Request #145714 · home-assistant/core · GitHub
[go: up one dir, main page]

Skip to content

Use async_load_fixture in async test functions (b-i) #145714

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 1, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions tests/components/blueprint/test_importer.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
import pytest
from syrupy.assertion import SnapshotAssertion

from homeassistant.components.blueprint import importer
from homeassistant.components.blueprint import DOMAIN, importer
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError

from tests.common import load_fixture
from tests.common import async_load_fixture, load_fixture
from tests.test_util.aiohttp import AiohttpClientMocker


Expand Down Expand Up @@ -161,7 +161,7 @@ async def test_fetch_blueprint_from_github_gist_url(
"""Test fetching blueprint from url."""
aioclient_mock.get(
"https://api.github.com/gists/e717ce85dd0d2f1bdcdfc884ea25a344",
text=load_fixture("blueprint/github_gist.json"),
text=await async_load_fixture(hass, "github_gist.json", DOMAIN),
)

url = "https://gist.github.com/balloob/e717ce85dd0d2f1bdcdfc884ea25a344"
Expand Down
4 changes: 2 additions & 2 deletions tests/components/bluetooth/test_base_scanner.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
patch_bluetooth_time,
)

from tests.common import MockConfigEntry, async_fire_time_changed, load_fixture
from tests.common import MockConfigEntry, async_fire_time_changed, async_load_fixture


@pytest.mark.parametrize("name_2", [None, "w"])
Expand Down Expand Up @@ -313,7 +313,7 @@ async def test_restore_history_remote_adapter(
"""Test we can restore history for a remote adapter."""

data = hass_storage[storage.REMOTE_SCANNER_STORAGE_KEY] = json_loads(
load_fixture("bluetooth.remote_scanners", bluetooth.DOMAIN)
await async_load_fixture(hass, "bluetooth.remote_scanners", bluetooth.DOMAIN)
)
now = time.time()
timestamps = data["data"]["atom-bluetooth-proxy-ceaac4"][
Expand Down
8 changes: 5 additions & 3 deletions tests/components/bluetooth/test_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
MockModule,
async_call_logger_set_level,
async_fire_time_changed,
load_fixture,
async_load_fixture,
mock_integration,
)

Expand Down Expand Up @@ -453,7 +453,7 @@ async def test_restore_history_from_dbus_and_remote_adapters(
address = "AA:BB:CC:CC:CC:FF"

data = hass_storage[storage.REMOTE_SCANNER_STORAGE_KEY] = json_loads(
load_fixture("bluetooth.remote_scanners", bluetooth.DOMAIN)
await async_load_fixture(hass, "bluetooth.remote_scanners", bluetooth.DOMAIN)
)
now = time.time()
timestamps = data["data"]["atom-bluetooth-proxy-ceaac4"][
Expand Down Expand Up @@ -495,7 +495,9 @@ async def test_restore_history_from_dbus_and_corrupted_remote_adapters(
address = "AA:BB:CC:CC:CC:FF"

data = hass_storage[storage.REMOTE_SCANNER_STORAGE_KEY] = json_loads(
load_fixture("bluetooth.remote_scanners.corrupt", bluetooth.DOMAIN)
await async_load_fixture(
hass, "bluetooth.remote_scanners.corrupt", bluetooth.DOMAIN
)
)
now = time.time()
timestamps = data["data"]["atom-bluetooth-proxy-ceaac4"][
Expand Down
10 changes: 7 additions & 3 deletions tests/components/bring/test_diagnostics.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from homeassistant.components.bring.const import DOMAIN
from homeassistant.core import HomeAssistant

from tests.common import MockConfigEntry, load_fixture
from tests.common import MockConfigEntry, async_load_fixture
from tests.components.diagnostics import get_diagnostics_for_config_entry
from tests.typing import ClientSessionGenerator

Expand All @@ -24,8 +24,12 @@ async def test_diagnostics(
) -> None:
"""Test diagnostics."""
mock_bring_client.get_list.side_effect = [
BringItemsResponse.from_json(load_fixture("items.json", DOMAIN)),
BringItemsResponse.from_json(load_fixture("items2.json", DOMAIN)),
BringItemsResponse.from_json(
await async_load_fixture(hass, "items.json", DOMAIN)
),
BringItemsResponse.from_json(
await async_load_fixture(hass, "items2.json", DOMAIN)
),
]
bring_config_entry.add_to_hass(hass)
await hass.config_entries.async_setup(bring_config_entry.entry_id)
Expand Down
10 changes: 5 additions & 5 deletions tests/components/bring/test_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

from .conftest import UUID

from tests.common import MockConfigEntry, async_fire_time_changed, load_fixture
from tests.common import MockConfigEntry, async_fire_time_changed, async_load_fixture


async def setup_integration(
Expand Down Expand Up @@ -240,7 +240,7 @@ async def test_purge_devices(
)

mock_bring_client.load_lists.return_value = BringListResponse.from_json(
load_fixture("lists2.json", DOMAIN)
await async_load_fixture(hass, "lists2.json", DOMAIN)
)

freezer.tick(timedelta(seconds=90))
Expand All @@ -265,7 +265,7 @@ async def test_create_devices(
"""Test create device entry for new lists."""
list_uuid = "b4776778-7f6c-496e-951b-92a35d3db0dd"
mock_bring_client.load_lists.return_value = BringListResponse.from_json(
load_fixture("lists2.json", DOMAIN)
await async_load_fixture(hass, "lists2.json", DOMAIN)
)
await setup_integration(hass, bring_config_entry)

Expand All @@ -279,7 +279,7 @@ async def test_create_devices(
)

mock_bring_client.load_lists.return_value = BringListResponse.from_json(
load_fixture("lists.json", DOMAIN)
await async_load_fixture(hass, "lists.json", DOMAIN)
)
freezer.tick(timedelta(seconds=90))
async_fire_time_changed(hass)
Expand Down Expand Up @@ -310,7 +310,7 @@ async def test_coordinator_update_intervals(
mock_bring_client.get_activity.reset_mock()

mock_bring_client.load_lists.return_value = BringListResponse.from_json(
load_fixture("lists2.json", DOMAIN)
await async_load_fixture(hass, "lists2.json", DOMAIN)
)
freezer.tick(timedelta(seconds=90))
async_fire_time_changed(hass)
Expand Down
12 changes: 8 additions & 4 deletions tests/components/bring/test_sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er

from tests.common import MockConfigEntry, load_fixture, snapshot_platform
from tests.common import MockConfigEntry, async_load_fixture, snapshot_platform


@pytest.fixture(autouse=True)
Expand All @@ -36,8 +36,12 @@ async def test_setup(
"""Snapshot test states of sensor platform."""

mock_bring_client.get_list.side_effect = [
BringItemsResponse.from_json(load_fixture("items.json", DOMAIN)),
BringItemsResponse.from_json(load_fixture("items2.json", DOMAIN)),
BringItemsResponse.from_json(
await async_load_fixture(hass, "items.json", DOMAIN)
),
BringItemsResponse.from_json(
await async_load_fixture(hass, "items2.json", DOMAIN)
),
]
bring_config_entry.add_to_hass(hass)
await hass.config_entries.async_setup(bring_config_entry.entry_id)
Expand Down Expand Up @@ -68,7 +72,7 @@ async def test_list_access_states(
"""Snapshot test states of list access sensor."""

mock_bring_client.get_list.return_value = BringItemsResponse.from_json(
load_fixture(f"{fixture}.json", DOMAIN)
await async_load_fixture(hass, f"{fixture}.json", DOMAIN)
)
bring_config_entry.add_to_hass(hass)
await hass.config_entries.async_setup(bring_config_entry.entry_id)
Expand Down
10 changes: 7 additions & 3 deletions tests/components/bring/test_todo.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers import entity_registry as er

from tests.common import MockConfigEntry, load_fixture, snapshot_platform
from tests.common import MockConfigEntry, async_load_fixture, snapshot_platform


@pytest.fixture(autouse=True)
Expand All @@ -45,8 +45,12 @@ async def test_todo(
) -> None:
"""Snapshot test states of todo platform."""
mock_bring_client.get_list.side_effect = [
BringItemsResponse.from_json(load_fixture("items.json", DOMAIN)),
BringItemsResponse.from_json(load_fixture("items2.json", DOMAIN)),
BringItemsResponse.from_json(
await async_load_fixture(hass, "items.json", DOMAIN)
),
BringItemsResponse.from_json(
await async_load_fixture(hass, "items2.json", DOMAIN)
),
]
bring_config_entry.add_to_hass(hass)
await hass.config_entries.async_setup(bring_config_entry.entry_id)
Expand Down
13 changes: 9 additions & 4 deletions tests/components/cast/test_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from aiohttp import client_exceptions
import pytest

from homeassistant.components.cast.const import DOMAIN
from homeassistant.components.cast.helpers import (
PlaylistError,
PlaylistItem,
Expand All @@ -11,7 +12,7 @@
)
from homeassistant.core import HomeAssistant

from tests.common import load_fixture
from tests.common import async_load_fixture
from tests.test_util.aiohttp import AiohttpClientMocker


Expand Down Expand Up @@ -40,7 +41,9 @@ async def test_hls_playlist_supported(
) -> None:
"""Test playlist parsing of HLS playlist."""
headers = {"content-type": content_type}
aioclient_mock.get(url, text=load_fixture(fixture, "cast"), headers=headers)
aioclient_mock.get(
url, text=await async_load_fixture(hass, fixture, DOMAIN), headers=headers
)
with pytest.raises(PlaylistSupported):
await parse_playlist(hass, url)

Expand Down Expand Up @@ -108,7 +111,9 @@ async def test_parse_playlist(
) -> None:
"""Test playlist parsing of HLS playlist."""
headers = {"content-type": content_type}
aioclient_mock.get(url, text=load_fixture(fixture, "cast"), headers=headers)
aioclient_mock.get(
url, text=await async_load_fixture(hass, fixture, DOMAIN), headers=headers
)
playlist = await parse_playlist(hass, url)
assert expected_playlist == playlist

Expand All @@ -132,7 +137,7 @@ async def test_parse_bad_playlist(
hass: HomeAssistant, aioclient_mock: AiohttpClientMocker, url, fixture
) -> None:
"""Test playlist parsing of HLS playlist."""
aioclient_mock.get(url, text=load_fixture(fixture, "cast"))
aioclient_mock.get(url, text=await async_load_fixture(hass, fixture, DOMAIN))
with pytest.raises(PlaylistError):
await parse_playlist(hass, url)

Expand Down
5 changes: 3 additions & 2 deletions tests/comp 1241 onents/cast/test_media_player.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
from homeassistant.components import media_player, tts
from homeassistant.components.cast import media_player as cast
from homeassistant.components.cast.const import (
DOMAIN,
SIGNAL_HASS_CAST_SHOW_VIEW,
HomeAssistantControllerData,
)
Expand Down Expand Up @@ -45,7 +46,7 @@
from tests.common import (
MockConfigEntry,
assert_setup_component,
load_fixture,
async_load_fixture,
mock_platform,
)
from tests.components.media_player import common
Expand Down Expand Up @@ -1348,7 +1349,7 @@ async def test_entity_play_media_playlist(
) -> None:
"""Test playing media."""
entity_id = "media_player.speaker"
aioclient_mock.get(url, text=load_fixture(fixture, "cast"))
aioclient_mock.get(url, text=await async_load_fixture(hass, fixture, DOMAIN))

await async_process_ha_core_config(
hass,
Expand Down
8 changes: 3 additions & 5 deletions tests/components/color_extractor/test_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
from homeassistant.setup import async_setup_component
from homeassistant.util import color as color_util

from tests.common import load_fixture
from tests.common import async_load_fixture, load_fixture
from tests.test_util.aiohttp import AiohttpClientMocker

LIGHT_ENTITY = "light.kitchen_lights"
Expand Down Expand Up @@ -145,7 +145,7 @@ async def test_url_success(
aioclient_mock.get(
url=service_data[ATTR_URL],
content=base64.b64decode(
load_fixture("color_extractor/color_extractor_url.txt")
await async_load_fixture(hass, "color_extractor_url.txt", DOMAIN)
),
)

Expand Down Expand Up @@ -233,9 +233,7 @@ async def test_url_error(
@patch(
"builtins.open",
mock_open(
read_data=base64.b64decode(
load_fixture("color_extractor/color_extractor_file.txt")
)
read_data=base64.b64decode(load_fixture("color_extractor_file.txt", DOMAIN))
),
create=True,
)
Expand Down
23 changes: 16 additions & 7 deletions tests/components/devialet/test_diagnostics.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@

import json

from homeassistant.components.devialet.const import DOMAIN
from homeassistant.core import HomeAssistant

from . import setup_integration

from tests.common import load_fixture
from tests.common import async_load_fixture
from tests.components.diagnostics import get_diagnostics_for_config_entry
from tests.test_util.aiohttp import AiohttpClientMocker
from tests.typing import ClientSessionGenerator
Expand All @@ -22,12 +23,20 @@ async def test_diagnostics(

assert await get_diagnostics_for_config_entry(hass, hass_client, entry) == {
"is_available": True,
"general_info": json.loads(load_fixture("general_info.json", "devialet")),
"sources": json.loads(load_fixture("sources.json", "devialet")),
"source_state": json.loads(load_fixture("source_state.json", "devialet")),
"volume": json.loads(load_fixture("volume.json", "devialet")),
"night_mode": json.loads(load_fixture("night_mode.json", "devialet")),
"equalizer": json.loads(load_fixture("equalizer.json", "devialet")),
"general_info": json.loads(
await async_load_fixture(hass, "general_info.json", DOMAIN)
),
"sources": json.loads(await async_load_fixture(hass, "sources.json", DOMAIN)),
"source_state": json.loads(
await async_load_fixture(hass, "source_state.json", DOMAIN)
),
"volume": json.loads(await async_load_fixture(hass, "volume.json", DOMAIN)),
"night_mode": json.loads(
await async_load_fixture(hass, "night_mode.json", DOMAIN)
),
"equalizer": json.loads(
await async_load_fixture(hass, "equalizer.json", DOMAIN)
),
"source_list": [
"Airplay",
"Bluetooth",
Expand Down
Loading
Loading
0