Fix Freebox disk free space sensor (#99757)
* Fix Freebox disk free space sensor * Add initial value assert to check results
This commit is contained in:
parent
e1f4a3fa9f
commit
1a22ab77e1
5 changed files with 85 additions and 8 deletions
45
tests/components/freebox/test_sensor.py
Normal file
45
tests/components/freebox/test_sensor.py
Normal file
|
@ -0,0 +1,45 @@
|
|||
"""Tests for the Freebox sensors."""
|
||||
from copy import deepcopy
|
||||
from unittest.mock import Mock
|
||||
|
||||
from freezegun.api import FrozenDateTimeFactory
|
||||
|
||||
from homeassistant.components.freebox import SCAN_INTERVAL
|
||||
from homeassistant.components.sensor import DOMAIN as SENSOR_DOMAIN
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
from .common import setup_platform
|
||||
from .const import DATA_STORAGE_GET_DISKS
|
||||
|
||||
from tests.common import async_fire_time_changed
|
||||
|
||||
|
||||
async def test_disk(
|
||||
hass: HomeAssistant, freezer: FrozenDateTimeFactory, router: Mock
|
||||
) -> None:
|
||||
"""Test disk sensor."""
|
||||
await setup_platform(hass, SENSOR_DOMAIN)
|
||||
|
||||
# Initial state
|
||||
assert (
|
||||
router().storage.get_disks.return_value[2]["partitions"][0]["total_bytes"]
|
||||
== 1960000000000
|
||||
)
|
||||
|
||||
assert (
|
||||
router().storage.get_disks.return_value[2]["partitions"][0]["free_bytes"]
|
||||
== 1730000000000
|
||||
)
|
||||
|
||||
assert hass.states.get("sensor.freebox_free_space").state == "88.27"
|
||||
|
||||
# Simulate a changed storage size
|
||||
data_storage_get_disks_changed = deepcopy(DATA_STORAGE_GET_DISKS)
|
||||
data_storage_get_disks_changed[2]["partitions"][0]["free_bytes"] = 880000000000
|
||||
router().storage.get_disks.return_value = data_storage_get_disks_changed
|
||||
# Simulate an update
|
||||
freezer.tick(SCAN_INTERVAL)
|
||||
async_fire_time_changed(hass)
|
||||
# To execute the save
|
||||
await hass.async_block_till_done()
|
||||
assert hass.states.get("sensor.freebox_free_space").state == "44.9"
|
Loading…
Add table
Add a link
Reference in a new issue