def test_keep_alive_bodyless_10x_request_with_body(): response = HTTPResponse() response.feed("""HTTP/1.1 100 Continue\r\n\r\n""") assert response.should_keep_alive() response = HTTPResponse() response.feed("""HTTP/1.1 100 Continue\r\nTransfer-Encoding: chunked\r\n\r\n""") assert response.should_keep_alive() assert response.should_close()
def test_keep_alive_bodyless_response_with_body(): response = HTTPResponse(method='HEAD') response.feed("HTTP/1.1 200 Ok\r\n\r\n") assert response.should_keep_alive() response = HTTPResponse(method='HEAD') with pytest.raises(HTTPParseError): response.feed( """HTTP/1.1 200 Ok\r\nContent-Length: 10\r\n\r\n0123456789""") assert response.should_keep_alive() assert response.should_close()
def test_incomplete_response(): response = HTTPResponse() response.feed("""HTTP/1.1 200 Ok\r\nContent-Length:10\r\n\r\n1""") with pytest.raises(HTTPParseError): response.feed("") assert response.should_keep_alive() assert response.should_close()
def test_incomplete_response(): response = HTTPResponse() response.feed("""HTTP/1.1 200 Ok\r\nContent-Length:10\r\n\r\n1""") with pytest.raises(HTTPParseError): #@UndefinedVariable response.feed("") assert response.should_keep_alive() assert response.should_close()
def test_incomplete_response(): response = HTTPResponse() response.feed("""HTTP/1.1 200 Ok\r\nContent-Length:10\r\n\r\n1""") with pytest.raises(HTTPException): response.feed("") assert response.should_keep_alive() assert response.should_close()
def test_simple(): response = HTTPResponse() response.feed("""HTTP/1.1 200 Ok\r\nContent-Length: 0\r\n\r\n""") assert response.headers_complete assert response.message_complete assert response.should_keep_alive() assert not response.should_close() assert response.status_code == 200
def test_close_connection_and_no_content_length(): response = HTTPResponse() response.feed("HTTP/1.1 200 Ok\r\n" "Connection: close\r\n\r\n" "Hello World!") assert response._body_buffer == bytearray("Hello World!") assert not response.should_keep_alive() assert response.should_close()
def test_keep_alive_http_10(): response = HTTPResponse() response.feed("""HTTP/1.0 200 Ok\r\n\r\n""") response.feed("") assert response.headers_complete assert response.message_complete assert not response.should_keep_alive() assert response.should_close() assert response.status_code == 200
def test_parse_small_blocks(): parser = HTTPResponse() parser.feed(RESPONSE) response = StringIO(RESPONSE) while not parser.message_complete: data = response.read(10) parser.feed(data) assert parser.message_begun assert parser.headers_complete assert parser.message_complete assert parser.should_keep_alive() assert parser.status_code == 301 assert sorted(parser.items()) == [ ('cache-control', 'public, max-age=2592000'), ('content-length', '218'), ('content-type', 'text/html; charset=UTF-8'), ('date', 'Thu, 13 Oct 2011 15:03:12 GMT'), ('expires', 'Sat, 12 Nov 2011 15:03:12 GMT'), ('location', 'http://www.google.fr/'), ('server', 'gws'), ('x-xss-protection', '1; mode=block'), ]
def test_keep_alive(): response = HTTPResponse() response.feed("""HTTP/1.1 200 Ok\r\n\r\n""") assert response.should_keep_alive() assert not response.should_close() assert response.status_code == 200