mirror of
https://github.com/home-assistant/core.git
synced 2025-07-24 13:47:35 +00:00
Use test fixture for configuration testing (#51803)
* Autospec mock_modbus and usei for configuration. * Review comment.
This commit is contained in:
parent
0327d0b6db
commit
08b0ef7a5e
@ -40,7 +40,7 @@ def mock_pymodbus():
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
async def mock_modbus(hass, mock_pymodbus):
|
||||
async def mock_modbus(hass, do_config):
|
||||
"""Load integration modbus using mocked pymodbus."""
|
||||
config = {
|
||||
DOMAIN: [
|
||||
@ -49,12 +49,16 @@ async def mock_modbus(hass, mock_pymodbus):
|
||||
CONF_HOST: "modbusTestHost",
|
||||
CONF_PORT: 5501,
|
||||
CONF_NAME: TEST_MODBUS_NAME,
|
||||
**do_config,
|
||||
}
|
||||
]
|
||||
}
|
||||
assert await async_setup_component(hass, DOMAIN, config) is True
|
||||
await hass.async_block_till_done()
|
||||
yield mock_pymodbus
|
||||
with mock.patch(
|
||||
"homeassistant.components.modbus.modbus.ModbusTcpClient", autospec=True
|
||||
) as mock_pb:
|
||||
assert await async_setup_component(hass, DOMAIN, config) is True
|
||||
await hass.async_block_till_done()
|
||||
yield mock_pb
|
||||
|
||||
|
||||
# dataclass
|
||||
|
@ -25,33 +25,32 @@ from tests.common import mock_restore_cache
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"do_options",
|
||||
"do_config",
|
||||
[
|
||||
{},
|
||||
{
|
||||
CONF_SLAVE: 10,
|
||||
CONF_INPUT_TYPE: CALL_TYPE_DISCRETE,
|
||||
CONF_DEVICE_CLASS: "door",
|
||||
CONF_BINARY_SENSORS: [
|
||||
{
|
||||
CONF_NAME: "test_sensor",
|
||||
CONF_ADDRESS: 51,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_BINARY_SENSORS: [
|
||||
{
|
||||
CONF_NAME: "test_sensor",
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_INPUT_TYPE: CALL_TYPE_DISCRETE,
|
||||
CONF_DEVICE_CLASS: "door",
|
||||
}
|
||||
]
|
||||
},
|
||||
],
|
||||
)
|
||||
async def test_config_binary_sensor(hass, do_options):
|
||||
"""Run test for binary sensor."""
|
||||
sensor_name = "test_sensor"
|
||||
config_sensor = {
|
||||
CONF_NAME: sensor_name,
|
||||
CONF_ADDRESS: 51,
|
||||
**do_options,
|
||||
}
|
||||
await base_config_test(
|
||||
hass,
|
||||
config_sensor,
|
||||
sensor_name,
|
||||
SENSOR_DOMAIN,
|
||||
CONF_BINARY_SENSORS,
|
||||
None,
|
||||
method_discovery=True,
|
||||
)
|
||||
async def test_config_binary_sensor(hass, mock_modbus):
|
||||
"""Run config test for binary sensor."""
|
||||
assert SENSOR_DOMAIN in hass.config.components
|
||||
|
||||
|
||||
@pytest.mark.parametrize("do_type", [CALL_TYPE_COIL, CALL_TYPE_DISCRETE])
|
||||
|
@ -20,34 +20,35 @@ from tests.common import mock_restore_cache
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"do_options",
|
||||
"do_config",
|
||||
[
|
||||
{},
|
||||
{
|
||||
CONF_SCAN_INTERVAL: 20,
|
||||
CONF_COUNT: 2,
|
||||
CONF_CLIMATES: [
|
||||
{
|
||||
CONF_NAME: "test_climate",
|
||||
CONF_TARGET_TEMP: 117,
|
||||
CONF_ADDRESS: 117,
|
||||
CONF_SLAVE: 10,
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
CONF_CLIMATES: [
|
||||
{
|
||||
CONF_NAME: "test_climate",
|
||||
CONF_TARGET_TEMP: 117,
|
||||
CONF_ADDRESS: 117,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_SCAN_INTERVAL: 20,
|
||||
CONF_COUNT: 2,
|
||||
}
|
||||
],
|
||||
},
|
||||
],
|
||||
)
|
||||
async def test_config_climate(hass, do_options):
|
||||
"""Run test for climate."""
|
||||
device_name = "test_climate"
|
||||
device_config = {
|
||||
CONF_NAME: device_name,
|
||||
CONF_TARGET_TEMP: 117,
|
||||
CONF_ADDRESS: 117,
|
||||
CONF_SLAVE: 10,
|
||||
**do_options,
|
||||
}
|
||||
await base_config_test(
|
||||
hass,
|
||||
device_config,
|
||||
device_name,
|
||||
CLIMATE_DOMAIN,
|
||||
CONF_CLIMATES,
|
||||
None,
|
||||
method_discovery=True,
|
||||
)
|
||||
async def test_config_climate(hass, mock_modbus):
|
||||
"""Run configuration test for climate."""
|
||||
assert CLIMATE_DOMAIN in hass.config.components
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
|
@ -35,34 +35,33 @@ from tests.common import mock_restore_cache
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"do_options",
|
||||
"do_config",
|
||||
[
|
||||
{},
|
||||
{
|
||||
CONF_SLAVE: 10,
|
||||
CONF_SCAN_INTERVAL: 20,
|
||||
CONF_COVERS: [
|
||||
{
|
||||
CONF_NAME: "test_cover",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_INPUT_TYPE: CALL_TYPE_COIL,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_COVERS: [
|
||||
{
|
||||
CONF_NAME: "test_cover",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_SCAN_INTERVAL: 20,
|
||||
}
|
||||
]
|
||||
},
|
||||
],
|
||||
)
|
||||
@pytest.mark.parametrize("read_type", [CALL_TYPE_COIL, CALL_TYPE_REGISTER_HOLDING])
|
||||
async def test_config_cover(hass, do_options, read_type):
|
||||
"""Run test for cover."""
|
||||
device_name = "test_cover"
|
||||
device_config = {
|
||||
CONF_NAME: device_name,
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_INPUT_TYPE: read_type,
|
||||
**do_options,
|
||||
}
|
||||
await base_config_test(
|
||||
hass,
|
||||
device_config,
|
||||
device_name,
|
||||
COVER_DOMAIN,
|
||||
CONF_COVERS,
|
||||
None,
|
||||
method_discovery=True,
|
||||
)
|
||||
async def test_config_cover(hass, mock_modbus):
|
||||
"""Run configuration test for cover."""
|
||||
assert COVER_DOMAIN in hass.config.components
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
|
@ -41,75 +41,90 @@ from tests.common import mock_restore_cache
|
||||
"do_config",
|
||||
[
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_FANS: [
|
||||
{
|
||||
CONF_NAME: "test_fan",
|
||||
CONF_ADDRESS: 1234,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_WRITE_TYPE: CALL_TYPE_COIL,
|
||||
CONF_FANS: [
|
||||
{
|
||||
CONF_NAME: "test_fan",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_WRITE_TYPE: CALL_TYPE_COIL,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
CONF_FANS: [
|
||||
{
|
||||
CONF_NAME: "test_fan",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
CONF_FANS: [
|
||||
{
|
||||
CONF_NAME: "test_fan",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_DISCRETE,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
CONF_FANS: [
|
||||
{
|
||||
CONF_NAME: "test_fan",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_DISCRETE,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: None,
|
||||
CONF_FANS: [
|
||||
{
|
||||
CONF_NAME: "test_fan",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: None,
|
||||
}
|
||||
]
|
||||
},
|
||||
],
|
||||
)
|
||||
async def test_config_fan(hass, do_config):
|
||||
"""Run test for fan."""
|
||||
device_name = "test_fan"
|
||||
|
||||
device_config = {
|
||||
CONF_NAME: device_name,
|
||||
**do_config,
|
||||
}
|
||||
|
||||
await base_config_test(
|
||||
hass,
|
||||
device_config,
|
||||
device_name,
|
||||
FAN_DOMAIN,
|
||||
CONF_FANS,
|
||||
None,
|
||||
method_discovery=True,
|
||||
)
|
||||
async def test_config_fan(hass, mock_modbus):
|
||||
"""Run configuration test for fan."""
|
||||
assert FAN_DOMAIN in hass.config.components
|
||||
|
||||
|
||||
@pytest.mark.parametrize("call_type", [CALL_TYPE_COIL, CALL_TYPE_REGISTER_HOLDING])
|
||||
|
@ -41,75 +41,90 @@ from tests.common import mock_restore_cache
|
||||
"do_config",
|
||||
[
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_LIGHTS: [
|
||||
{
|
||||
CONF_NAME: "test_light",
|
||||
CONF_ADDRESS: 1234,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_WRITE_TYPE: CALL_TYPE_COIL,
|
||||
CONF_LIGHTS: [
|
||||
{
|
||||
CONF_NAME: "test_light",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_WRITE_TYPE: CALL_TYPE_COIL,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
CONF_LIGHTS: [
|
||||
{
|
||||
CONF_NAME: "test_light",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
CONF_LIGHTS: [
|
||||
{
|
||||
CONF_NAME: "test_light",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_DISCRETE,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
CONF_LIGHTS: [
|
||||
{
|
||||
CONF_NAME: "test_light",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_DISCRETE,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: None,
|
||||
CONF_LIGHTS: [
|
||||
{
|
||||
CONF_NAME: "test_light",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_VERIFY: None,
|
||||
}
|
||||
]
|
||||
},
|
||||
],
|
||||
)
|
||||
async def test_config_light(hass, do_config):
|
||||
"""Run test for light."""
|
||||
device_name = "test_light"
|
||||
|
||||
device_config = {
|
||||
CONF_NAME: device_name,
|
||||
**do_config,
|
||||
}
|
||||
|
||||
await base_config_test(
|
||||
hass,
|
||||
device_config,
|
||||
device_name,
|
||||
LIGHT_DOMAIN,
|
||||
CONF_LIGHTS,
|
||||
None,
|
||||
method_discovery=True,
|
||||
)
|
||||
async def test_config_light(hass, mock_modbus):
|
||||
"""Run configuration test for light."""
|
||||
assert LIGHT_DOMAIN in hass.config.components
|
||||
|
||||
|
||||
@pytest.mark.parametrize("call_type", [CALL_TYPE_COIL, CALL_TYPE_REGISTER_HOLDING])
|
||||
|
@ -45,68 +45,90 @@ from tests.common import mock_restore_cache
|
||||
"do_config",
|
||||
[
|
||||
{
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_SENSORS: [
|
||||
{
|
||||
CONF_NAME: "test_sensor",
|
||||
CONF_ADDRESS: 51,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_COUNT: 1,
|
||||
CONF_DATA_TYPE: "int",
|
||||
CONF_PRECISION: 0,
|
||||
CONF_SCALE: 1,
|
||||
CONF_OFFSET: 0,
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
|
||||
CONF_DEVICE_CLASS: "battery",
|
||||
CONF_SENSORS: [
|
||||
{
|
||||
CONF_NAME: "test_sensor",
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_COUNT: 1,
|
||||
CONF_DATA_TYPE: "int",
|
||||
CONF_PRECISION: 0,
|
||||
CONF_SCALE: 1,
|
||||
CONF_OFFSET: 0,
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
|
||||
CONF_DEVICE_CLASS: "battery",
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_COUNT: 1,
|
||||
CONF_DATA_TYPE: "int",
|
||||
CONF_PRECISION: 0,
|
||||
CONF_SCALE: 1,
|
||||
CONF_OFFSET: 0,
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_DEVICE_CLASS: "battery",
|
||||
CONF_SENSORS: [
|
||||
{
|
||||
CONF_NAME: "test_sensor",
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_COUNT: 1,
|
||||
CONF_DATA_TYPE: "int",
|
||||
CONF_PRECISION: 0,
|
||||
CONF_SCALE: 1,
|
||||
CONF_OFFSET: 0,
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_DEVICE_CLASS: "battery",
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_COUNT: 1,
|
||||
CONF_SWAP: CONF_SWAP_NONE,
|
||||
CONF_SENSORS: [
|
||||
{
|
||||
CONF_NAME: "test_sensor",
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_COUNT: 1,
|
||||
CONF_SWAP: CONF_SWAP_NONE,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_COUNT: 1,
|
||||
CONF_SWAP: CONF_SWAP_BYTE,
|
||||
CONF_SENSORS: [
|
||||
{
|
||||
CONF_NAME: "test_sensor",
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_COUNT: 1,
|
||||
CONF_SWAP: CONF_SWAP_BYTE,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_COUNT: 2,
|
||||
CONF_SWAP: CONF_SWAP_WORD,
|
||||
CONF_SENSORS: [
|
||||
{
|
||||
CONF_NAME: "test_sensor",
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_COUNT: 2,
|
||||
CONF_SWAP: CONF_SWAP_WORD,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_COUNT: 2,
|
||||
CONF_SWAP: CONF_SWAP_WORD_BYTE,
|
||||
CONF_SENSORS: [
|
||||
{
|
||||
CONF_NAME: "test_sensor",
|
||||
CONF_ADDRESS: 51,
|
||||
CONF_COUNT: 2,
|
||||
CONF_SWAP: CONF_SWAP_WORD_BYTE,
|
||||
}
|
||||
]
|
||||
},
|
||||
],
|
||||
)
|
||||
async def test_config_sensor(hass, do_config):
|
||||
"""Run test for sensor."""
|
||||
sensor_name = "test_sensor"
|
||||
config_sensor = {
|
||||
CONF_NAME: sensor_name,
|
||||
**do_config,
|
||||
}
|
||||
await base_config_test(
|
||||
hass,
|
||||
config_sensor,
|
||||
sensor_name,
|
||||
SENSOR_DOMAIN,
|
||||
CONF_SENSORS,
|
||||
CONF_REGISTERS,
|
||||
method_discovery=True,
|
||||
)
|
||||
async def test_config_sensor(hass, mock_modbus):
|
||||
"""Run configuration test for sensor."""
|
||||
assert SENSOR_DOMAIN in hass.config.components
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
|
@ -48,81 +48,96 @@ from tests.common import async_fire_time_changed, mock_restore_cache
|
||||
"do_config",
|
||||
[
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SWITCHES: [
|
||||
{
|
||||
CONF_NAME: "test_switch",
|
||||
CONF_ADDRESS: 1234,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_WRITE_TYPE: CALL_TYPE_COIL,
|
||||
CONF_SWITCHES: [
|
||||
{
|
||||
CONF_NAME: "test_switch",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_WRITE_TYPE: CALL_TYPE_COIL,
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_DEVICE_CLASS: "switch",
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
CONF_SWITCHES: [
|
||||
{
|
||||
CONF_NAME: "test_switch",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_DEVICE_CLASS: "switch",
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_DEVICE_CLASS: "switch",
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
CONF_DELAY: 10,
|
||||
},
|
||||
CONF_SWITCHES: [
|
||||
{
|
||||
CONF_NAME: "test_switch",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_DEVICE_CLASS: "switch",
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
CONF_DELAY: 10,
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_DEVICE_CLASS: "switch",
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_DISCRETE,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
CONF_SWITCHES: [
|
||||
{
|
||||
CONF_NAME: "test_switch",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_DEVICE_CLASS: "switch",
|
||||
CONF_VERIFY: {
|
||||
CONF_INPUT_TYPE: CALL_TYPE_DISCRETE,
|
||||
CONF_ADDRESS: 1235,
|
||||
CONF_STATE_OFF: 0,
|
||||
CONF_STATE_ON: 1,
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_DEVICE_CLASS: "switch",
|
||||
CONF_SCAN_INTERVAL: 0,
|
||||
CONF_VERIFY: None,
|
||||
CONF_SWITCHES: [
|
||||
{
|
||||
CONF_NAME: "test_switch",
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_SLAVE: 1,
|
||||
CONF_COMMAND_OFF: 0x00,
|
||||
CONF_COMMAND_ON: 0x01,
|
||||
CONF_DEVICE_CLASS: "switch",
|
||||
CONF_SCAN_INTERVAL: 0,
|
||||
CONF_VERIFY: None,
|
||||
}
|
||||
]
|
||||
},
|
||||
],
|
||||
)
|
||||
async def test_config_switch(hass, do_config):
|
||||
"""Run test for switch."""
|
||||
device_name = "test_switch"
|
||||
|
||||
device_config = {
|
||||
CONF_NAME: device_name,
|
||||
**do_config,
|
||||
}
|
||||
|
||||
await base_config_test(
|
||||
hass,
|
||||
device_config,
|
||||
device_name,
|
||||
SWITCH_DOMAIN,
|
||||
CONF_SWITCHES,
|
||||
None,
|
||||
method_discovery=True,
|
||||
)
|
||||
async def test_config_switch(hass, mock_modbus):
|
||||
"""Run configurationtest for switch."""
|
||||
assert SWITCH_DOMAIN in hass.config.components
|
||||
|
||||
|
||||
@pytest.mark.parametrize("call_type", [CALL_TYPE_COIL, CALL_TYPE_REGISTER_HOLDING])
|
||||
|
Loading…
x
Reference in New Issue
Block a user