mirror of https://github.com/home-assistant/core
68 lines
1.9 KiB
Python
68 lines
1.9 KiB
Python
"""Test the V2C sensor platform."""
|
|
|
|
from unittest.mock import AsyncMock, patch
|
|
|
|
import pytest
|
|
from syrupy import SnapshotAssertion
|
|
|
|
from homeassistant.components.v2c.sensor import _METER_ERROR_OPTIONS
|
|
from homeassistant.const import Platform
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.helpers import entity_registry as er
|
|
|
|
from . import init_integration
|
|
|
|
from tests.common import MockConfigEntry, snapshot_platform
|
|
|
|
|
|
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
|
|
async def test_sensor(
|
|
hass: HomeAssistant,
|
|
entity_registry: er.EntityRegistry,
|
|
snapshot: SnapshotAssertion,
|
|
mock_v2c_client: AsyncMock,
|
|
mock_config_entry: MockConfigEntry,
|
|
) -> None:
|
|
"""Test states of the sensor."""
|
|
with patch("homeassistant.components.v2c.PLATFORMS", [Platform.SENSOR]):
|
|
await init_integration(hass, mock_config_entry)
|
|
await snapshot_platform(hass, entity_registry, snapshot, mock_config_entry.entry_id)
|
|
|
|
assert _METER_ERROR_OPTIONS == [
|
|
"no_error",
|
|
"communication",
|
|
"reading",
|
|
"meter",
|
|
"waiting_wifi",
|
|
"waiting_communication",
|
|
"wrong_ip",
|
|
"meter_not_found",
|
|
"wrong_meter",
|
|
"no_response",
|
|
"clamp_not_connected",
|
|
"illegal_function",
|
|
"illegal_data_address",
|
|
"illegal_data_value",
|
|
"server_device_failure",
|
|
"acknowledge",
|
|
"server_device_busy",
|
|
"negative_acknowledge",
|
|
"memory_parity_error",
|
|
"gateway_path_unavailable",
|
|
"gateway_target_no_resp",
|
|
"server_rtu_inactive244_timeout",
|
|
"invalid_server",
|
|
"crc_error",
|
|
"fc_mismatch",
|
|
"server_id_mismatch",
|
|
"packet_length_error",
|
|
"parameter_count_error",
|
|
"parameter_limit_error",
|
|
"request_queue_full",
|
|
"illegal_ip_or_port",
|
|
"ip_connection_failed",
|
|
"tcp_head_mismatch",
|
|
"empty_message",
|
|
"undefined_error",
|
|
]
|