test_digestauth_401_only_sent_once() — requests Function Reference
Architecture documentation for the test_digestauth_401_only_sent_once() function in test_lowlevel.py from the requests codebase.
Entity Profile
Dependency Diagram
graph TD ce1b24b1_670c_c2a7_4a3f_28b5b90bd555["test_digestauth_401_only_sent_once()"] 48561d17_8bd1_bf20_5710_ec3053a534d2["test_lowlevel.py"] ce1b24b1_670c_c2a7_4a3f_28b5b90bd555 -->|defined in| 48561d17_8bd1_bf20_5710_ec3053a534d2 7ab3c4d7_8531_6cbe_e871_9880cb1ee6de["consume_socket_content()"] ce1b24b1_670c_c2a7_4a3f_28b5b90bd555 -->|calls| 7ab3c4d7_8531_6cbe_e871_9880cb1ee6de style ce1b24b1_670c_c2a7_4a3f_28b5b90bd555 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
tests/test_lowlevel.py lines 192–235
def test_digestauth_401_only_sent_once():
"""Ensure we correctly respond to a 401 challenge once, and then
stop responding if challenged again.
"""
text_401 = (b'HTTP/1.1 401 UNAUTHORIZED\r\n'
b'Content-Length: 0\r\n'
b'WWW-Authenticate: Digest nonce="6bf5d6e4da1ce66918800195d6b9130d"'
b', opaque="372825293d1c26955496c80ed6426e9e", '
b'realm="me@kennethreitz.com", qop=auth\r\n\r\n')
expected_digest = (b'Authorization: Digest username="user", '
b'realm="me@kennethreitz.com", '
b'nonce="6bf5d6e4da1ce66918800195d6b9130d", uri="/"')
auth = requests.auth.HTTPDigestAuth('user', 'pass')
def digest_failed_response_handler(sock):
# Respond to initial GET with a challenge.
request_content = consume_socket_content(sock, timeout=0.5)
assert request_content.startswith(b"GET / HTTP/1.1")
sock.send(text_401)
# Verify we receive an Authorization header in response, then
# challenge again.
request_content = consume_socket_content(sock, timeout=0.5)
assert expected_digest in request_content
sock.send(text_401)
# Verify the client didn't respond to second challenge.
request_content = consume_socket_content(sock, timeout=0.5)
assert request_content == b''
return request_content
close_server = threading.Event()
server = Server(digest_failed_response_handler, wait_to_close_event=close_server)
with server as (host, port):
url = f'http://{host}:{port}/'
r = requests.get(url, auth=auth)
# Verify server didn't authenticate us.
assert r.status_code == 401
assert r.history[0].status_code == 401
close_server.set()
Domain
Subdomains
Defined In
Calls
Source
Frequently Asked Questions
What does test_digestauth_401_only_sent_once() do?
test_digestauth_401_only_sent_once() is a function in the requests codebase, defined in tests/test_lowlevel.py.
Where is test_digestauth_401_only_sent_once() defined?
test_digestauth_401_only_sent_once() is defined in tests/test_lowlevel.py at line 192.
What does test_digestauth_401_only_sent_once() call?
test_digestauth_401_only_sent_once() calls 1 function(s): consume_socket_content.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free