| 109 | |
| 110 | @pytest.mark.run_loop |
| 111 | def test_HTTPMethodNotAllowed(buf, request): |
| 112 | resp = web.HTTPMethodNotAllowed('get', ['POST', 'PUT']) |
| 113 | assert 'GET' == resp.method |
| 114 | assert ['POST', 'PUT'] == resp.allowed_methods |
| 115 | assert 'POST,PUT' == resp.headers['allow'] |
| 116 | yield from resp.prepare(request) |
| 117 | yield from resp.write_eof() |
| 118 | txt = buf.decode('utf8') |
| 119 | assert re.match('HTTP/1.1 405 Method Not Allowed\r\n' |
| 120 | 'CONTENT-TYPE: text/plain; charset=utf-8\r\n' |
| 121 | 'CONTENT-LENGTH: 23\r\n' |
| 122 | 'ALLOW: POST,PUT\r\n' |
| 123 | 'DATE: .+\r\n' |
| 124 | 'SERVER: .+\r\n\r\n' |
| 125 | '405: Method Not Allowed', txt) |
| 126 | |
| 127 | |
| 128 | def test_override_body_with_text(): |