There is actually no documentation, but support. Use
twisted.test.proto_helpers.FakeDatagramTransport
This is a test for the Echo Server from the UDPTutorial.
from twisted.trial import unittest
from twisted.test import proto_helpers
import echo
class EchoTest(unittest.TestCase):
def setUp(self):
self.protocol = echo.Echo()
self.transport = proto_helpers.FakeDatagramTransport()
self.protocol.transport = self.transport
def test_echo(self):
self.protocol.startProtocol()
self.assertTrue(len(self.transport.written) == 0)
# simulate incoming package
self.protocol.datagramReceived("test", ("127.0.0.1", 55555))
# check echo has been written as answer on the transport
msg, addr = self.transport.written[0]
self.assertEqual(msg, "test")
self.assertEqual(addr[1], 55555)