示例#1
0
def test_lock_clear_usercode_service(hass, mock_openzwave):
    """Test the zwave lock clear_usercode service."""
    mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock()
    node = MockNode(node_id=12)
    value0 = MockValue(data=None, node=node, index=0)
    value1 = MockValue(data='123', node=node, index=1)
    yield from zwave.async_setup_platform(
        hass, {}, MagicMock())

    node.get_values.return_value = {
        value0.value_id: value0,
        value1.value_id: value1,
    }

    mock_network.nodes = {
        node.node_id: node
    }
    yield from hass.services.async_call(
        zwave.DOMAIN, zwave.SERVICE_CLEAR_USERCODE, {
            const.ATTR_NODE_ID: node.node_id,
            zwave.ATTR_CODE_SLOT: 1
        })
    yield from hass.async_block_till_done()

    assert value1.data == '\0\0\0'
示例#2
0
def test_lock_get_usercode_service(hass, mock_openzwave):
    """Test the zwave lock get_usercode service."""
    mock_network = hass.data[zwave.zwave.DATA_NETWORK] = MagicMock()
    node = MockNode(node_id=12)
    value0 = MockValue(data=None, node=node, index=0)
    value1 = MockValue(data='1234', node=node, index=1)
    yield from zwave.async_setup_platform(
        hass, {}, MagicMock())

    node.get_values.return_value = {
        value0.value_id: value0,
        value1.value_id: value1,
    }

    with patch.object(zwave, '_LOGGER') as mock_logger:
        mock_network.nodes = {node.node_id: node}
        yield from hass.services.async_call(
            zwave.DOMAIN, zwave.SERVICE_GET_USERCODE, {
                const.ATTR_NODE_ID: node.node_id,
                zwave.ATTR_CODE_SLOT: 1,
                })
        yield from hass.async_block_till_done()
        # This service only seems to write to the log
        assert mock_logger.info.called
        assert len(mock_logger.info.mock_calls) == 1
        assert mock_logger.info.mock_calls[0][1][2] == '1234'
示例#3
0
def test_lock_get_usercode_service(hass, mock_openzwave):
    """Test the zwave lock get_usercode service."""
    node = MockNode(node_id=12)
    value0 = MockValue(data=None, node=node, index=0)
    value1 = MockValue(data='1234', node=node, index=1)
    yield from zwave.async_setup_platform(hass, {}, MagicMock())

    node.get_values.return_value = {
        value0.value_id: value0,
        value1.value_id: value1,
    }

    with patch.object(zwave.zwave, 'NETWORK') as mock_network:
        with patch.object(zwave, '_LOGGER') as mock_logger:
            mock_network.nodes = {node.node_id: node}
            yield from hass.services.async_call(
                zwave.DOMAIN, zwave.SERVICE_GET_USERCODE, {
                    const.ATTR_NODE_ID: node.node_id,
                    zwave.ATTR_CODE_SLOT: 1,
                })
            yield from hass.async_block_till_done()

            # This service only seems to write to the log
            assert mock_logger.info.called
            assert len(mock_logger.info.mock_calls) == 1
            assert mock_logger.info.mock_calls[0][1][2] == '1234'
示例#4
0
def test_lock_set_usercode_service(hass, mock_openzwave):
    """Test the zwave lock set_usercode service."""
    node = MockNode(node_id=12)
    value0 = MockValue(data=None, node=node, index=0)
    value1 = MockValue(data=None, node=node, index=1)
    yield from zwave.async_setup_platform(hass, {}, MagicMock())

    node.get_values.return_value = {
        value0.value_id: value0,
        value1.value_id: value1,
    }

    with patch.object(zwave.zwave, 'NETWORK') as mock_network:
        mock_network.nodes = {node.node_id: node}
        yield from hass.services.async_call(
            zwave.DOMAIN, zwave.SERVICE_SET_USERCODE, {
                const.ATTR_NODE_ID: node.node_id,
                zwave.ATTR_USERCODE: '1234',
                zwave.ATTR_CODE_SLOT: 1,
            })
        yield from hass.async_block_till_done()

    assert value1.data == '1234'

    with patch.object(zwave.zwave, 'NETWORK') as mock_network:
        mock_network.nodes = {node.node_id: node}
        yield from hass.services.async_call(
            zwave.DOMAIN, zwave.SERVICE_SET_USERCODE, {
                const.ATTR_NODE_ID: node.node_id,
                zwave.ATTR_USERCODE: '12345',
                zwave.ATTR_CODE_SLOT: 1,
            })
        yield from hass.async_block_till_done()

    assert value1.data == '1234'
示例#5
0
def test_lock_clear_usercode_service(hass, mock_openzwave):
    """Test the zwave lock clear_usercode service."""
    mock_network = hass.data[zwave.zwave.ZWAVE_NETWORK] = MagicMock()
    node = MockNode(node_id=12)
    value0 = MockValue(data=None, node=node, index=0)
    value1 = MockValue(data='123', node=node, index=1)
    yield from zwave.async_setup_platform(
        hass, {}, MagicMock())

    node.get_values.return_value = {
        value0.value_id: value0,
        value1.value_id: value1,
    }

    mock_network.nodes = {
        node.node_id: node
    }
    yield from hass.services.async_call(
        zwave.DOMAIN, zwave.SERVICE_CLEAR_USERCODE, {
            const.ATTR_NODE_ID: node.node_id,
            zwave.ATTR_CODE_SLOT: 1
        })
    yield from hass.async_block_till_done()

    assert value1.data == '\0\0\0'
示例#6
0
def test_lock_set_usercode_service(hass, mock_openzwave):
    """Test the zwave lock set_usercode service."""
    node = MockNode(node_id=12)
    value0 = MockValue(data=None, node=node, index=0)
    value1 = MockValue(data=None, node=node, index=1)
    yield from zwave.async_setup_platform(
        hass, {}, MagicMock())

    node.get_values.return_value = {
        value0.value_id: value0,
        value1.value_id: value1,
    }

    with patch.object(zwave.zwave, 'NETWORK') as mock_network:
        mock_network.nodes = {
            node.node_id: node
        }
        yield from hass.services.async_call(
            zwave.DOMAIN, zwave.SERVICE_SET_USERCODE, {
                const.ATTR_NODE_ID: node.node_id,
                zwave.ATTR_USERCODE: '1234',
                zwave.ATTR_CODE_SLOT: 1,
                })
        yield from hass.async_block_till_done()

    assert value1.data == '1234'

    with patch.object(zwave.zwave, 'NETWORK') as mock_network:
        mock_network.nodes = {
            node.node_id: node
        }
        yield from hass.services.async_call(
            zwave.DOMAIN, zwave.SERVICE_SET_USERCODE, {
                const.ATTR_NODE_ID: node.node_id,
                zwave.ATTR_USERCODE: '12345',
                zwave.ATTR_CODE_SLOT: 1,
                })
        yield from hass.async_block_till_done()

    assert value1.data == '1234'