async def METHOD_NAME(
    self,
    time_travel,
):
    """Test request_description function with Core v1 device."""
    local_addr = ("127.0.0.1", 12345)
    remote_addr = ("127.0.0.2", 54321)
    with patch(
        "xknx.io.self_description.UDPTransport.connect"
    ) as transport_connect_mock, patch(
        "xknx.io.self_description.UDPTransport.getsockname", return_value=local_addr
    ), patch(
        "xknx.io.self_description.UDPTransport.send"
    ) as transport_send_mock, patch(
        "xknx.io.self_description.UDPTransport.stop"
    ) as transport_stop_mock, patch(
        "xknx.io.self_description.DescriptionQuery", wraps=DescriptionQuery
    ) as description_query_mock:
        task = asyncio.create_task(request_description(remote_addr[0]))
        await time_travel(0)
        transport_connect_mock.assert_called_once_with()
        assert transport_send_mock.call_count == 1
        assert isinstance(
            transport_send_mock.call_args[0][0].body, DescriptionRequest
        )
        _transport = description_query_mock.call_args.kwargs["transport"]
        _transport.data_received_callback(
            self.description_response_v1_raw, remote_addr
        )
        gateway = await task
        transport_stop_mock.assert_called_once()
        assert transport_send_mock.call_count == 1
        assert gateway.core_version == 1
        assert gateway.name == "MDT KNX IP Router"
        assert gateway.tunnelling_requires_secure is None
        assert gateway.individual_address == IndividualAddress("2.0.0")