(self)
| 711 | self.assertIn("AssertionError", h.stderr.getvalue()) |
| 712 | |
| 713 | def testHeaderFormats(self): |
| 714 | |
| 715 | def non_error_app(e,s): |
| 716 | s('200 OK',[]) |
| 717 | return [] |
| 718 | |
| 719 | stdpat = ( |
| 720 | r"HTTP/%s 200 OK\r\n" |
| 721 | r"Date: \w{3}, [ 0123]\d \w{3} \d{4} \d\d:\d\d:\d\d GMT\r\n" |
| 722 | r"%s" r"Content-Length: 0\r\n" r"\r\n" |
| 723 | ) |
| 724 | shortpat = ( |
| 725 | "Status: 200 OK\r\n" "Content-Length: 0\r\n" "\r\n" |
| 726 | ).encode("iso-8859-1") |
| 727 | |
| 728 | for ssw in "FooBar/1.0", None: |
| 729 | sw = ssw and "Server: %s\r\n" % ssw or "" |
| 730 | |
| 731 | for version in "1.0", "1.1": |
| 732 | for proto in "HTTP/0.9", "HTTP/1.0", "HTTP/1.1": |
| 733 | |
| 734 | h = TestHandler(SERVER_PROTOCOL=proto) |
| 735 | h.origin_server = False |
| 736 | h.http_version = version |
| 737 | h.server_software = ssw |
| 738 | h.run(non_error_app) |
| 739 | self.assertEqual(shortpat,h.stdout.getvalue()) |
| 740 | |
| 741 | h = TestHandler(SERVER_PROTOCOL=proto) |
| 742 | h.origin_server = True |
| 743 | h.http_version = version |
| 744 | h.server_software = ssw |
| 745 | h.run(non_error_app) |
| 746 | if proto=="HTTP/0.9": |
| 747 | self.assertEqual(h.stdout.getvalue(),b"") |
| 748 | else: |
| 749 | self.assertTrue( |
| 750 | re.match((stdpat%(version,sw)).encode("iso-8859-1"), |
| 751 | h.stdout.getvalue()), |
| 752 | ((stdpat%(version,sw)).encode("iso-8859-1"), |
| 753 | h.stdout.getvalue()) |
| 754 | ) |
| 755 | |
| 756 | def testBytesData(self): |
| 757 | def app(e, s): |
nothing calls this directly
no test coverage detected