(responses)
| 400 | |
| 401 | |
| 402 | def GetRequestHandler(responses): |
| 403 | |
| 404 | class FakeHTTPRequestHandler(http.server.BaseHTTPRequestHandler): |
| 405 | |
| 406 | server_version = "TestHTTP/" |
| 407 | requests = [] |
| 408 | headers_received = [] |
| 409 | port = 80 |
| 410 | |
| 411 | def do_GET(self): |
| 412 | body = self.send_head() |
| 413 | while body: |
| 414 | done = self.wfile.write(body) |
| 415 | body = body[done:] |
| 416 | |
| 417 | def do_POST(self): |
| 418 | content_length = self.headers["Content-Length"] |
| 419 | post_data = self.rfile.read(int(content_length)) |
| 420 | self.do_GET() |
| 421 | self.requests.append(post_data) |
| 422 | |
| 423 | def send_head(self): |
| 424 | FakeHTTPRequestHandler.headers_received = self.headers |
| 425 | self.requests.append(self.path) |
| 426 | response_code, headers, body = responses.pop(0) |
| 427 | |
| 428 | self.send_response(response_code) |
| 429 | |
| 430 | for (header, value) in headers: |
| 431 | self.send_header(header, value % {'port':self.port}) |
| 432 | if body: |
| 433 | self.send_header("Content-type", "text/plain") |
| 434 | self.end_headers() |
| 435 | return body |
| 436 | self.end_headers() |
| 437 | |
| 438 | def log_message(self, *args): |
| 439 | pass |
| 440 | |
| 441 | |
| 442 | return FakeHTTPRequestHandler |
| 443 | |
| 444 | |
| 445 | class TestUrlopen(unittest.TestCase): |
no outgoing calls
no test coverage detected
searching dependent graphs…