Rename modules named repairs.py which are not repairs platforms (#89618)

This commit is contained in:
Erik Montnemery 2023-03-13 09:44:20 +01:00 committed by GitHub
parent d1ee303e85
commit fd5c56fc7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 28 additions and 28 deletions

View File

@ -60,7 +60,7 @@ from .const import (
DEFAULT_PROBABILITY_THRESHOLD, DEFAULT_PROBABILITY_THRESHOLD,
) )
from .helpers import Observation from .helpers import Observation
from .repairs import raise_mirrored_entries, raise_no_prob_given_false from .issues import raise_mirrored_entries, raise_no_prob_given_false
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)

View File

@ -1,4 +1,4 @@
"""Helpers for generating repairs.""" """Helpers for generating issues."""
from __future__ import annotations from __future__ import annotations
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant

View File

@ -96,7 +96,7 @@ from .handler import ( # noqa: F401
) )
from .http import HassIOView from .http import HassIOView
from .ingress import async_setup_ingress_view from .ingress import async_setup_ingress_view
from .repairs import SupervisorRepairs from .issues import SupervisorIssues
from .websocket_api import async_load_websocket_api from .websocket_api import async_load_websocket_api
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -125,7 +125,7 @@ DATA_SUPERVISOR_STATS = "hassio_supervisor_stats"
DATA_ADDONS_CHANGELOGS = "hassio_addons_changelogs" DATA_ADDONS_CHANGELOGS = "hassio_addons_changelogs"
DATA_ADDONS_INFO = "hassio_addons_info" DATA_ADDONS_INFO = "hassio_addons_info"
DATA_ADDONS_STATS = "hassio_addons_stats" DATA_ADDONS_STATS = "hassio_addons_stats"
DATA_SUPERVISOR_REPAIRS = "supervisor_repairs" DATA_SUPERVISOR_ISSUES = "supervisor_issues"
HASSIO_UPDATE_INTERVAL = timedelta(minutes=5) HASSIO_UPDATE_INTERVAL = timedelta(minutes=5)
ADDONS_COORDINATOR = "hassio_addons_coordinator" ADDONS_COORDINATOR = "hassio_addons_coordinator"
@ -604,9 +604,9 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: # noqa:
hass.config_entries.flow.async_init(DOMAIN, context={"source": "system"}) hass.config_entries.flow.async_init(DOMAIN, context={"source": "system"})
) )
# Start listening for problems with supervisor and making repairs # Start listening for problems with supervisor and making issues
hass.data[DATA_SUPERVISOR_REPAIRS] = repairs = SupervisorRepairs(hass, hassio) hass.data[DATA_SUPERVISOR_ISSUES] = issues = SupervisorIssues(hass, hassio)
await repairs.setup() await issues.setup()
return True return True

View File

@ -70,11 +70,11 @@ UNHEALTHY_REASONS = {
} }
class SupervisorRepairs: class SupervisorIssues:
"""Create repairs from supervisor events.""" """Create issues from supervisor events."""
def __init__(self, hass: HomeAssistant, client: HassIO) -> None: def __init__(self, hass: HomeAssistant, client: HassIO) -> None:
"""Initialize supervisor repairs.""" """Initialize supervisor issues."""
self._hass = hass self._hass = hass
self._client = client self._client = client
self._unsupported_reasons: set[str] = set() self._unsupported_reasons: set[str] = set()
@ -87,7 +87,7 @@ class SupervisorRepairs:
@unhealthy_reasons.setter @unhealthy_reasons.setter
def unhealthy_reasons(self, reasons: set[str]) -> None: def unhealthy_reasons(self, reasons: set[str]) -> None:
"""Set unhealthy reasons. Create or delete repairs as necessary.""" """Set unhealthy reasons. Create or delete issues as necessary."""
for unhealthy in reasons - self.unhealthy_reasons: for unhealthy in reasons - self.unhealthy_reasons:
if unhealthy in UNHEALTHY_REASONS: if unhealthy in UNHEALTHY_REASONS:
translation_key = f"unhealthy_{unhealthy}" translation_key = f"unhealthy_{unhealthy}"
@ -119,7 +119,7 @@ class SupervisorRepairs:
@unsupported_reasons.setter @unsupported_reasons.setter
def unsupported_reasons(self, reasons: set[str]) -> None: def unsupported_reasons(self, reasons: set[str]) -> None:
"""Set unsupported reasons. Create or delete repairs as necessary.""" """Set unsupported reasons. Create or delete issues as necessary."""
for unsupported in reasons - UNSUPPORTED_SKIP_REPAIR - self.unsupported_reasons: for unsupported in reasons - UNSUPPORTED_SKIP_REPAIR - self.unsupported_reasons:
if unsupported in UNSUPPORTED_REASONS: if unsupported in UNSUPPORTED_REASONS:
translation_key = f"unsupported_{unsupported}" translation_key = f"unsupported_{unsupported}"
@ -149,18 +149,18 @@ class SupervisorRepairs:
await self.update() await self.update()
async_dispatcher_connect( async_dispatcher_connect(
self._hass, EVENT_SUPERVISOR_EVENT, self._supervisor_events_to_repairs self._hass, EVENT_SUPERVISOR_EVENT, self._supervisor_events_to_issues
) )
async def update(self) -> None: async def update(self) -> None:
"""Update repairs from Supervisor resolution center.""" """Update issuess from Supervisor resolution center."""
data = await self._client.get_resolution_info() data = await self._client.get_resolution_info()
self.unhealthy_reasons = set(data[ATTR_UNHEALTHY]) self.unhealthy_reasons = set(data[ATTR_UNHEALTHY])
self.unsupported_reasons = set(data[ATTR_UNSUPPORTED]) self.unsupported_reasons = set(data[ATTR_UNSUPPORTED])
@callback @callback
def _supervisor_events_to_repairs(self, event: dict[str, Any]) -> None: def _supervisor_events_to_issues(self, event: dict[str, Any]) -> None:
"""Create repairs from supervisor events.""" """Create issues from supervisor events."""
if ATTR_WS_EVENT not in event: if ATTR_WS_EVENT not in event:
return return

View File

@ -52,7 +52,7 @@ def hassio_stubs(hassio_env, hass, hass_client, aioclient_mock):
"homeassistant.components.hassio.HassIO.get_ingress_panels", "homeassistant.components.hassio.HassIO.get_ingress_panels",
return_value={"panels": []}, return_value={"panels": []},
), patch( ), patch(
"homeassistant.components.hassio.repairs.SupervisorRepairs.setup" "homeassistant.components.hassio.issues.SupervisorIssues.setup"
), patch( ), patch(
"homeassistant.components.hassio.HassIO.refresh_updates" "homeassistant.components.hassio.HassIO.refresh_updates"
): ):

View File

@ -1,4 +1,4 @@
"""Test repairs from supervisor issues.""" """Test issues from supervisor issues."""
from __future__ import annotations from __future__ import annotations
import os import os
@ -145,12 +145,12 @@ def assert_repair_in_list(issues: list[dict[str, Any]], unhealthy: bool, reason:
} in issues } in issues
async def test_unhealthy_repairs( async def test_unhealthy_issues(
hass: HomeAssistant, hass: HomeAssistant,
aioclient_mock: AiohttpClientMocker, aioclient_mock: AiohttpClientMocker,
hass_ws_client: WebSocketGenerator, hass_ws_client: WebSocketGenerator,
) -> None: ) -> None:
"""Test repairs added for unhealthy systems.""" """Test issues added for unhealthy systems."""
mock_resolution_info(aioclient_mock, unhealthy=["docker", "setup"]) mock_resolution_info(aioclient_mock, unhealthy=["docker", "setup"])
result = await async_setup_component(hass, "hassio", {}) result = await async_setup_component(hass, "hassio", {})
@ -166,12 +166,12 @@ async def test_unhealthy_repairs(
assert_repair_in_list(msg["result"]["issues"], unhealthy=True, reason="setup") assert_repair_in_list(msg["result"]["issues"], unhealthy=True, reason="setup")
async def test_unsupported_repairs( async def test_unsupported_issues(
hass: HomeAssistant, hass: HomeAssistant,
aioclient_mock: AiohttpClientMocker, aioclient_mock: AiohttpClientMocker,
hass_ws_client: WebSocketGenerator, hass_ws_client: WebSocketGenerator,
) -> None: ) -> None:
"""Test repairs added for unsupported systems.""" """Test issues added for unsupported systems."""
mock_resolution_info(aioclient_mock, unsupported=["content_trust", "os"]) mock_resolution_info(aioclient_mock, unsupported=["content_trust", "os"])
result = await async_setup_component(hass, "hassio", {}) result = await async_setup_component(hass, "hassio", {})
@ -189,12 +189,12 @@ async def test_unsupported_repairs(
assert_repair_in_list(msg["result"]["issues"], unhealthy=False, reason="os") assert_repair_in_list(msg["result"]["issues"], unhealthy=False, reason="os")
async def test_unhealthy_repairs_add_remove( async def test_unhealthy_issues_add_remove(
hass: HomeAssistant, hass: HomeAssistant,
aioclient_mock: AiohttpClientMocker, aioclient_mock: AiohttpClientMocker,
hass_ws_client: WebSocketGenerator, hass_ws_client: WebSocketGenerator,
) -> None: ) -> None:
"""Test unhealthy repairs added and removed from dispatches.""" """Test unhealthy issues added and removed from dispatches."""
mock_resolution_info(aioclient_mock) mock_resolution_info(aioclient_mock)
result = await async_setup_component(hass, "hassio", {}) result = await async_setup_component(hass, "hassio", {})
@ -245,12 +245,12 @@ async def test_unhealthy_repairs_add_remove(
assert msg["result"] == {"issues": []} assert msg["result"] == {"issues": []}
async def test_unsupported_repairs_add_remove( async def test_unsupported_issues_add_remove(
hass: HomeAssistant, hass: HomeAssistant,
aioclient_mock: AiohttpClientMocker, aioclient_mock: AiohttpClientMocker,
hass_ws_client: WebSocketGenerator, hass_ws_client: WebSocketGenerator,
) -> None: ) -> None:
"""Test unsupported repairs added and removed from dispatches.""" """Test unsupported issues added and removed from dispatches."""
mock_resolution_info(aioclient_mock) mock_resolution_info(aioclient_mock)
result = await async_setup_component(hass, "hassio", {}) result = await async_setup_component(hass, "hassio", {})
@ -301,12 +301,12 @@ async def test_unsupported_repairs_add_remove(
assert msg["result"] == {"issues": []} assert msg["result"] == {"issues": []}
async def test_reset_repairs_supervisor_restart( async def test_reset_issues_supervisor_restart(
hass: HomeAssistant, hass: HomeAssistant,
aioclient_mock: AiohttpClientMocker, aioclient_mock: AiohttpClientMocker,
hass_ws_client: WebSocketGenerator, hass_ws_client: WebSocketGenerator,
) -> None: ) -> None:
"""Unsupported/unhealthy repairs reset on supervisor restart.""" """Unsupported/unhealthy issues reset on supervisor restart."""
mock_resolution_info(aioclient_mock, unsupported=["os"], unhealthy=["docker"]) mock_resolution_info(aioclient_mock, unsupported=["os"], unhealthy=["docker"])
result = await async_setup_component(hass, "hassio", {}) result = await async_setup_component(hass, "hassio", {})