예제 #1
0
async def test_dynalite_devices_request_area_preset(mock_gateway):
    """Test the command to request and area preset."""
    config = {
        dyn_const.CONF_ACTIVE: False,
        dyn_const.CONF_AREA: {
            "1": {},
            "2": {
                dyn_const.CONF_QUERY_CHANNEL: 6
            }
        },
        dyn_const.CONF_DEFAULT: {
            dyn_const.CONF_QUERY_CHANNEL: 3
        },
    }
    mock_gateway.configure_dyn_dev(config, 4)
    assert await mock_gateway.async_setup_dyn_dev()
    await mock_gateway.check_single_update(None)
    mock_gateway.dyn_dev.request_area_preset(1, None)
    await mock_gateway.check_single_write(
        DynetPacket.request_area_preset_packet(1, 3))
    mock_gateway.dyn_dev.request_area_preset(2, None)
    await mock_gateway.check_single_write(
        DynetPacket.request_area_preset_packet(2, 6))
    mock_gateway.dyn_dev.request_area_preset(3, None)
    await mock_gateway.check_single_write(
        DynetPacket.request_area_preset_packet(3, 3))
    mock_gateway.dyn_dev.request_area_preset(4, 9)
    await mock_gateway.check_single_write(
        DynetPacket.request_area_preset_packet(4, 9))
예제 #2
0
async def test_dynalite_devices_active(mock_gateway, active):
    """Test with active set to ON."""
    [_, _, device_pres] = mock_gateway.configure_dyn_dev(
        {
            dyn_const.CONF_ACTIVE: active,
            dyn_const.CONF_AREA: {
                "1": {
                    dyn_const.CONF_CHANNEL: {
                        "1": {},
                        "2": {}
                    }
                }
            },
            dyn_const.CONF_PRESET: {
                "1": {}
            },
        },
        3,
    )
    assert await mock_gateway.async_setup_dyn_dev()
    await mock_gateway.check_single_update(None)
    if active is not False:
        await mock_gateway.check_writes([
            DynetPacket.request_channel_level_packet(1, 1),
            DynetPacket.request_channel_level_packet(1, 2),
            DynetPacket.request_area_preset_packet(1, 1),
        ])
    else:
        await mock_gateway.check_writes([])
    packet_to_send = DynetPacket.report_area_preset_packet(1, 1)
    await mock_gateway.receive(packet_to_send)
    await mock_gateway.check_single_update(device_pres)
    await mock_gateway.check_notifications([
        packet_notification(packet_to_send.raw_msg),
        preset_notification(1, 1)
    ])
    if active is True:
        await mock_gateway.check_writes([
            DynetPacket.request_channel_level_packet(1, 1),
            DynetPacket.request_channel_level_packet(1, 2),
        ])
    else:
        await mock_gateway.check_writes([])
예제 #3
0
async def test_dynalite_devices_active(mock_gateway, active):
    """Test with active set to ON."""
    mock_gateway.configure_dyn_dev(
        {
            dyn_const.CONF_ACTIVE: active,
            dyn_const.CONF_AREA: {
                "1": {
                    dyn_const.CONF_CHANNEL: {
                        "1": {},
                        "2": {}
                    }
                }
            },
            dyn_const.CONF_PRESET: {
                "1": {}
            },
        },
        3,
    )
    assert await mock_gateway.async_setup_dyn_dev()
    if active is not False:
        await mock_gateway.check_writes([
            DynetPacket.request_channel_level_packet(1, 1),
            DynetPacket.request_channel_level_packet(1, 2),
            DynetPacket.request_area_preset_packet(1),
        ])
    else:
        await mock_gateway.check_writes([])
    await mock_gateway.receive(DynetPacket.report_area_preset_packet(1, 1))
    if active is True:
        await mock_gateway.check_writes([
            DynetPacket.request_channel_level_packet(1, 1),
            DynetPacket.request_channel_level_packet(1, 2),
        ])
    else:
        await mock_gateway.check_writes([])