1
0
mirror of https://github.com/home-assistant/core.git synced 2025-12-27 14:31:13 +00:00
Files
core/tests/components/volvooncall/test_init.py
Stephan van Rooij 9531ae10f2 Remove volvooncall (#150725)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-09-20 14:08:53 +02:00

77 lines
2.6 KiB
Python

"""Test the Volvo On Call integration setup."""
from homeassistant.components.volvooncall.const import DOMAIN
from homeassistant.config_entries import ConfigEntryState
from homeassistant.core import HomeAssistant
from homeassistant.helpers import issue_registry as ir
from tests.common import MockConfigEntry
async def test_setup_entry_creates_repair_issue(
hass: HomeAssistant, issue_registry: ir.IssueRegistry
) -> None:
"""Test that setup creates a repair issue."""
entry = MockConfigEntry(
domain=DOMAIN,
title="Volvo On Call",
data={},
)
entry.add_to_hass(hass)
assert await hass.config_entries.async_setup(entry.entry_id)
await hass.async_block_till_done()
assert entry.state is ConfigEntryState.LOADED
issue = issue_registry.async_get_issue(DOMAIN, "volvooncall_deprecated")
assert issue is not None
assert issue.severity is ir.IssueSeverity.WARNING
assert issue.translation_key == "volvooncall_deprecated"
async def test_unload_entry_removes_repair_issue(
hass: HomeAssistant, issue_registry: ir.IssueRegistry
) -> None:
"""Test that unloading the last config entry removes the repair issue."""
first_config_entry = MockConfigEntry(
domain=DOMAIN,
title="Volvo On Call",
data={},
)
first_config_entry.add_to_hass(hass)
second_config_entry = MockConfigEntry(
domain=DOMAIN,
title="Volvo On Call second",
data={},
)
second_config_entry.add_to_hass(hass)
# Setup entry
assert await hass.config_entries.async_setup(first_config_entry.entry_id)
await hass.async_block_till_done()
assert len(hass.config_entries.async_entries(DOMAIN)) == 2
# Check that the repair issue was created
issue = issue_registry.async_get_issue(DOMAIN, "volvooncall_deprecated")
assert issue is not None
# Unload entry (this is the only entry, so issue should be removed)
assert await hass.config_entries.async_remove(first_config_entry.entry_id)
await hass.async_block_till_done(wait_background_tasks=True)
assert len(hass.config_entries.async_entries(DOMAIN)) == 1
# Check that the repair issue still exists because there's another entry
issue = issue_registry.async_get_issue(DOMAIN, "volvooncall_deprecated")
assert issue is not None
# Unload entry (this is the only entry, so issue should be removed)
assert await hass.config_entries.async_remove(second_config_entry.entry_id)
await hass.async_block_till_done(wait_background_tasks=True)
# Check that the repair issue was removed
issue = issue_registry.async_get_issue(DOMAIN, "volvooncall_deprecated")
assert issue is None