1
0
mirror of https://github.com/home-assistant/core.git synced 2026-05-18 22:40:15 +01:00
Files
2026-04-03 10:41:09 +02:00

71 lines
2.0 KiB
Python

"""Tests for the Proxmox VE sensor platform."""
from unittest.mock import MagicMock, patch
import pytest
from syrupy.assertion import SnapshotAssertion
from homeassistant.const import STATE_UNKNOWN, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from . import setup_integration
from tests.common import (
MockConfigEntry,
async_load_json_array_fixture,
snapshot_platform,
)
@pytest.fixture(autouse=True)
def enable_all_entities(entity_registry_enabled_by_default: None) -> None:
"""Make sure all entities are enabled."""
async def test_all_entities(
hass: HomeAssistant,
snapshot: SnapshotAssertion,
mock_proxmox_client: MagicMock,
mock_config_entry: MockConfigEntry,
entity_registry: er.EntityRegistry,
) -> None:
"""Test all entities."""
with patch(
"homeassistant.components.proxmoxve.PLATFORMS",
[Platform.SENSOR],
):
await setup_integration(hass, mock_config_entry)
await snapshot_platform(
hass,
entity_registry,
snapshot,
mock_config_entry.entry_id,
)
async def test_storage_missing_used_fraction(
hass: HomeAssistant,
mock_proxmox_client: MagicMock,
mock_config_entry: MockConfigEntry,
) -> None:
"""Test storage usage percentage sensor when used_fraction is missing."""
storage_data = await async_load_json_array_fixture(
hass, "nodes/storage.json", "proxmoxve"
)
# Remove used_fraction from all storage entries
storage_without_fraction = [
{key: value for key, value in storage.items() if key != "used_fraction"}
for storage in storage_data
]
mock_proxmox_client._node_mock.storage.get.return_value = storage_without_fraction
with patch(
"homeassistant.components.proxmoxve.PLATFORMS",
[Platform.SENSOR],
):
await setup_integration(hass, mock_config_entry)
state = hass.states.get("sensor.storage_local_storage_usage_percentage")
assert state.state == STATE_UNKNOWN