From 2640b5223765f7a8e9c13a4a4c82dafa2c7cb59a Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Wed, 15 Feb 2012 18:53:18 +0100 Subject: Issue #7644: Add tests for the file argument of NNTP.head() and NNTP.body(). Patch by Hynek Schlawack. --- Lib/test/test_nntplib.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/Lib/test/test_nntplib.py b/Lib/test/test_nntplib.py index 179d31e..cc490f1 100644 --- a/Lib/test/test_nntplib.py +++ b/Lib/test/test_nntplib.py @@ -979,6 +979,26 @@ class NNTPv1v2TestsMixin: self.server.head("") self.assertEqual(cm.exception.response, "430 No Such Article Found") + def test_head_file(self): + f = io.BytesIO() + resp, info = self.server.head(file=f) + self.assertEqual(resp, "221 3000237 <45223423@example.com>") + art_num, message_id, lines = info + self.assertEqual(art_num, 3000237) + self.assertEqual(message_id, "<45223423@example.com>") + self.assertEqual(lines, []) + data = f.getvalue() + self.assertTrue(data.startswith( + b'From: "Demo User" \r\n' + b'Subject: I am just a test article\r\n' + ), ascii(data)) + self.assertFalse(data.endswith( + b'This is just a test article.\r\n' + b'.Here is a dot-starting line.\r\n' + b'\r\n' + b'-- Signed by Andr\xc3\xa9.\r\n' + ), ascii(data)) + def test_body(self): # BODY resp, info = self.server.body() @@ -1006,6 +1026,26 @@ class NNTPv1v2TestsMixin: self.server.body("") self.assertEqual(cm.exception.response, "430 No Such Article Found") + def test_body_file(self): + f = io.BytesIO() + resp, info = self.server.body(file=f) + self.assertEqual(resp, "222 3000237 <45223423@example.com>") + art_num, message_id, lines = info + self.assertEqual(art_num, 3000237) + self.assertEqual(message_id, "<45223423@example.com>") + self.assertEqual(lines, []) + data = f.getvalue() + self.assertFalse(data.startswith( + b'From: "Demo User" \r\n' + b'Subject: I am just a test article\r\n' + ), ascii(data)) + self.assertTrue(data.endswith( + b'This is just a test article.\r\n' + b'.Here is a dot-starting line.\r\n' + b'\r\n' + b'-- Signed by Andr\xc3\xa9.\r\n' + ), ascii(data)) + def check_over_xover_resp(self, resp, overviews): self.assertTrue(resp.startswith("224 "), resp) self.assertEqual(len(overviews), 3) -- cgit v0.12