async def test_udpsession_mismatch(fake_udp_socket_manager):
    session = UdpTrackerSession("localhost", ("localhost", 4782), "/announce",
                                0, None, fake_udp_socket_manager)
    session.action = 123
    session.transaction_id = 124
    session.infohash_list = [b'\x00' * 20]
    assert not session.is_failed
    fake_udp_socket_manager.response = struct.pack("!ii", 123, 124)
    with pytest.raises(ValueError):
        await session.scrape()
    assert session.is_failed
async def test_big_correct_run(fake_udp_socket_manager):
    session = UdpTrackerSession("localhost", ("192.168.1.1", 1234),
                                "/announce", 0, None, fake_udp_socket_manager)
    assert not session.is_failed
    fake_udp_socket_manager.response = struct.pack("!iiq", session.action,
                                                   session.transaction_id, 126)
    await session.connect()
    session.infohash_list = [b"test"]
    fake_udp_socket_manager.response = struct.pack("!iiiii", session.action,
                                                   session.transaction_id, 0,
                                                   1, 2)
    await session.scrape()
    assert session.is_finished
    await session.cleanup()