test_lowlevel.py — requests Source File
Architecture documentation for test_lowlevel.py, a python file in the requests codebase. 9 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 48561d17_8bd1_bf20_5710_ec3053a534d2["test_lowlevel.py"] 401710e9_48ff_8931_a59f_9cf0334b86f2["utils.py"] 48561d17_8bd1_bf20_5710_ec3053a534d2 --> 401710e9_48ff_8931_a59f_9cf0334b86f2 eb4927de_0f5a_e91b_5675_eee3babf26c6["override_environ"] 48561d17_8bd1_bf20_5710_ec3053a534d2 --> eb4927de_0f5a_e91b_5675_eee3babf26c6 d04f5b22_a751_5438_e937_aa8b0666d15e["threading"] 48561d17_8bd1_bf20_5710_ec3053a534d2 --> d04f5b22_a751_5438_e937_aa8b0666d15e b820826b_04e7_9e1b_bbf6_b336eaff9a23["pytest"] 48561d17_8bd1_bf20_5710_ec3053a534d2 --> b820826b_04e7_9e1b_bbf6_b336eaff9a23 ce06e854_c78b_b510_291a_dbc144a59aff["requests"] 48561d17_8bd1_bf20_5710_ec3053a534d2 --> ce06e854_c78b_b510_291a_dbc144a59aff a3acf0a1_ed03_6384_3bc6_273b8a1f8271["requests.compat"] 48561d17_8bd1_bf20_5710_ec3053a534d2 --> a3acf0a1_ed03_6384_3bc6_273b8a1f8271 1299f040_d82e_36bb_76ee_892d203f2f6a["server.py"] 48561d17_8bd1_bf20_5710_ec3053a534d2 --> 1299f040_d82e_36bb_76ee_892d203f2f6a b9ecf8db_ec54_4dfb_626c_b3769674f676["Server"] 48561d17_8bd1_bf20_5710_ec3053a534d2 --> b9ecf8db_ec54_4dfb_626c_b3769674f676 7ab3c4d7_8531_6cbe_e871_9880cb1ee6de["consume_socket_content"] 48561d17_8bd1_bf20_5710_ec3053a534d2 --> 7ab3c4d7_8531_6cbe_e871_9880cb1ee6de style 48561d17_8bd1_bf20_5710_ec3053a534d2 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import threading
import pytest
import requests
from requests.compat import JSONDecodeError
from tests.testserver.server import Server, consume_socket_content
from .utils import override_environ
def echo_response_handler(sock):
"""Simple handler that will take request and echo it back to requester."""
request_content = consume_socket_content(sock, timeout=0.5)
text_200 = (
b"HTTP/1.1 200 OK\r\n"
b"Content-Length: %d\r\n\r\n"
b"%s"
) % (len(request_content), request_content)
sock.send(text_200)
def test_chunked_upload():
"""can safely send generators"""
close_server = threading.Event()
server = Server.basic_response_server(wait_to_close_event=close_server)
data = iter([b"a", b"b", b"c"])
with server as (host, port):
url = f"http://{host}:{port}/"
r = requests.post(url, data=data, stream=True)
close_server.set() # release server block
assert r.status_code == 200
assert r.request.headers["Transfer-Encoding"] == "chunked"
def test_chunked_encoding_error():
"""get a ChunkedEncodingError if the server returns a bad response"""
def incomplete_chunked_response_handler(sock):
request_content = consume_socket_content(sock, timeout=0.5)
# The server never ends the request and doesn't provide any valid chunks
sock.send(
b"HTTP/1.1 200 OK\r\n"
b"Transfer-Encoding: chunked\r\n"
)
return request_content
close_server = threading.Event()
server = Server(incomplete_chunked_response_handler)
with server as (host, port):
url = f"http://{host}:{port}/"
with pytest.raises(requests.exceptions.ChunkedEncodingError):
requests.get(url)
close_server.set() # release server block
// ... (369 more lines)
Domain
Subdomains
Functions
- echo_response_handler()
- scheme()
- test_chunked_encoding_error()
- test_chunked_upload()
- test_chunked_upload_doesnt_skip_host_header()
- test_chunked_upload_uses_only_specified_host_header()
- test_conflicting_content_lengths()
- test_digestauth_401_count_reset_on_redirect()
- test_digestauth_401_only_sent_once()
- test_digestauth_only_on_4xx()
- test_fragment_not_sent_with_request()
- test_fragment_update_on_redirect()
- test_json_decode_compatibility_for_alt_utf_encodings()
- test_redirect_rfc1808_to_non_ascii_location()
- test_use_proxy_from_environment()
Dependencies
- Server
- consume_socket_content
- override_environ
- pytest
- requests
- requests.compat
- server.py
- threading
- utils.py
Source
Frequently Asked Questions
What does test_lowlevel.py do?
test_lowlevel.py is a source file in the requests codebase, written in python. It belongs to the CoreAPI domain, SessionLifecycle subdomain.
What functions are defined in test_lowlevel.py?
test_lowlevel.py defines 15 function(s): echo_response_handler, scheme, test_chunked_encoding_error, test_chunked_upload, test_chunked_upload_doesnt_skip_host_header, test_chunked_upload_uses_only_specified_host_header, test_conflicting_content_lengths, test_digestauth_401_count_reset_on_redirect, test_digestauth_401_only_sent_once, test_digestauth_only_on_4xx, and 5 more.
What does test_lowlevel.py depend on?
test_lowlevel.py imports 9 module(s): Server, consume_socket_content, override_environ, pytest, requests, requests.compat, server.py, threading, and 1 more.
Where is test_lowlevel.py in the architecture?
test_lowlevel.py is located at tests/test_lowlevel.py (domain: CoreAPI, subdomain: SessionLifecycle, directory: tests).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free