Here is a patch that changes all affected tests to use a custom server running on localhost:
* Local server is based on the existing NNTPv2Handler class, and the LocalServerTests class
* Reintegrate test_starttls() back into NetworkedNNTPTestsMixin
* Only test_with_statement() talks to the remote NNTP_HOST now (not affected by this bug)
* Make tests in NetworkedNNTPTestsMixin stricter, because the server responses are predetermined now
* Add mock comp.lang.python support to NNTPv1Handler.handle_GROUP()
* Add support for rejecting passwords in NNTPv1Handler.handle_AUTHINFO()
* New message number with non-UTF-8 message body for ARTICLE, HEAD, BODY, and non-UTF-8 subject for OVER, XOVER |