twisted.test.proto_helpers
module documentationtwisted.test
View Source
Assorted functionality which is commonly useful when writing unit tests.
Class | AccumulatingProtocol | AccumulatingProtocol
is an IProtocol
implementation which collects the data delivered to it and can fire a
Deferred when it is connected or disconnected. |
Class | LineSendingProtocol | Undocumented |
Class | FakeDatagramTransport | Undocumented |
Class | StringTransport | A transport implementation which buffers data in memory and keeps track of its other state without providing any behavior. |
Class | StringTransportWithDisconnection | A StringTransport
which on disconnection will trigger the connection lost on the attached
protocol. |
Class | StringIOWithoutClosing | A BytesIO that can't be closed. |
Class | _FakePort | A fake IListeningPort
to be used in tests. |
Class | _FakeConnector | A fake IConnector
that allows us to inspect if it has been told to stop connecting. |
Class | MemoryReactor | A fake reactor to be used in tests. This reactor doesn't actually do much that's useful yet. It accepts TCP connection setup attempts, but they will never succeed. |
Class | MemoryReactorClock | Undocumented |
Class | RaisingMemoryReactor | A fake reactor to be used in tests. It accepts TCP connection setup attempts, but they will fail. |
Class | NonStreamingProducer | A pull producer which writes 10 times only. |
Function | waitUntilAllDisconnected | Take a list of disconnecting protocols, callback a Deferred when
they're all done. |
Class | EventLoggingObserver | No summary |
Take a list of disconnecting protocols, callback a Deferred
when
they're all done.
This is a hack to make some older tests less flaky, as ITransport.loseConnection
is not atomic on all reactors (for example, the CoreFoundation, which
sometimes takes a reactor turn for CFSocket to realise). New tests should
either not use real sockets in testing, or take the advice in
https://jml.io/pages/how-to-disconnect-in-twisted-really.html to
heart.
Parameters | reactor | The reactor to schedule the checks on. (type: IReactorTime ) |
protocols | The protocols to wait for disconnecting. (type: A list
of IProtocol s.) |