Skip to content

Commit

Permalink
Implement option to download diagnostics (#1218)
Browse files Browse the repository at this point in the history
  • Loading branch information
bramstroker committed Nov 4, 2022
1 parent 7dea68d commit 2c737a9
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 1 deletion.
11 changes: 11 additions & 0 deletions custom_components/powercalc/diagnostics.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from homeassistant.core import HomeAssistant
from homeassistant.config_entries import ConfigEntry


async def async_get_config_entry_diagnostics(
hass: HomeAssistant, entry: ConfigEntry
) -> dict:
"""Return diagnostics for a config entry."""
return {
"entry": entry.as_dict(),
}
27 changes: 26 additions & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,16 @@
mock_area_registry,
mock_device_registry,
mock_registry,
MockConfigEntry
)
from homeassistant.const import CONF_ENTITY_ID
from custom_components.powercalc.const import (
DOMAIN,
CONF_FIXED,
CONF_POWER,
CONF_SENSOR_TYPE,
SensorType
)


@pytest.fixture(autouse=True)
def auto_enable_custom_integrations(enable_custom_integrations):
Expand Down Expand Up @@ -34,3 +42,20 @@ def device_reg(hass):
def entity_reg(hass):
"""Return an empty, loaded, registry."""
return mock_registry(hass)


@pytest.fixture
def mock_config_entry() -> MockConfigEntry:
"""Return the default mocked config entry."""
return MockConfigEntry(
domain=DOMAIN,
data={
CONF_SENSOR_TYPE: SensorType.VIRTUAL_POWER,
CONF_ENTITY_ID: "input_boolean.test",
CONF_FIXED: {
CONF_POWER: 50,
}
},
unique_id="aabbccddeeff",
title="test"
)
10 changes: 10 additions & 0 deletions tests/test_diagnostics.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from homeassistant.core import HomeAssistant
from pytest_homeassistant_custom_component.common import MockConfigEntry
from custom_components.powercalc.diagnostics import async_get_config_entry_diagnostics


async def test_diagnostics(hass: HomeAssistant, mock_config_entry: MockConfigEntry) -> None:
diagnostics_data = await async_get_config_entry_diagnostics(hass, mock_config_entry)
assert diagnostics_data == {
"entry": mock_config_entry.as_dict()
}

0 comments on commit 2c737a9

Please sign in to comment.