/
opt
/
imh-python
/
lib
/
python3.9
/
site-packages
/
tornado
/
test
/
/opt/imh-python/lib/python3.9/site-packages/tornado/test
mkdir
upload
Name
Size
Mode
Actions
csv_translations/
-
0755
rm
gettext_translations/
-
0755
rm
static/
-
0755
rm
templates/
-
0755
rm
__pycache__/
-
0755
rm
asyncio_test.py
7329
0644
edit
dl
rm
auth_test.py
24026
0644
edit
dl
rm
autoreload_test.py
4075
0644
edit
dl
rm
concurrent_test.py
6174
0644
edit
dl
rm
curl_httpclient_test.py
4477
0644
edit
dl
rm
escape_test.py
12694
0644
edit
dl
rm
gen_test.py
34721
0644
edit
dl
rm
http1connection_test.py
1972
0644
edit
dl
rm
httpclient_test.py
32067
0644
edit
dl
rm
httpserver_test.py
46332
0644
edit
dl
rm
httputil_test.py
19600
0644
edit
dl
rm
import_test.py
2046
0644
edit
dl
rm
ioloop_test.py
26060
0644
edit
dl
rm
iostream_test.py
46178
0644
edit
dl
rm
locale_test.py
5907
0644
edit
dl
rm
locks_test.py
17564
0644
edit
dl
rm
log_test.py
9778
0644
edit
dl
rm
netutil_test.py
8047
0644
edit
dl
rm
options_test.cfg
76
0644
edit
dl
rm
options_test.py
12174
0644
edit
dl
rm
options_test_types.cfg
277
0644
edit
dl
rm
options_test_types_str.cfg
158
0644
edit
dl
rm
process_test.py
11392
0644
edit
dl
rm
queues_test.py
14188
0644
edit
dl
rm
resolve_test_helper.py
421
0644
edit
dl
rm
routing_test.py
9121
0644
edit
dl
rm
runtests.py
8440
0644
edit
dl
rm
simple_httpclient_test.py
31821
0644
edit
dl
rm
static_foo.txt
97
0644
edit
dl
rm
tcpclient_test.py
17115
0644
edit
dl
rm
tcpserver_test.py
6674
0644
edit
dl
rm
template_test.py
19204
0644
edit
dl
rm
test.crt
1244
0644
edit
dl
rm
test.key
1732
0644
edit
dl
rm
testing_test.py
10985
0644
edit
dl
rm
twisted_test.py
8116
0644
edit
dl
rm
util.py
3768
0644
edit
dl
rm
util_test.py
10127
0644
edit
dl
rm
websocket_test.py
28331
0644
edit
dl
rm
web_test.py
118423
0644
edit
dl
rm
windows_test.py
698
0644
edit
dl
rm
wsgi_test.py
677
0644
edit
dl
rm
__init__.py
398
0644
edit
dl
rm
__main__.py
347
0644
edit
dl
rm
Edit:
/opt/imh-python/lib/python3.9/site-packages/tornado/test/curl_httpclient_test.py
(4477B)
# coding: utf-8 from hashlib import md5 import unittest from tornado.escape import utf8 from tornado.testing import AsyncHTTPTestCase from tornado.test import httpclient_test from tornado.web import Application, RequestHandler try: import pycurl # type: ignore except ImportError: pycurl = None if pycurl is not None: from tornado.curl_httpclient import CurlAsyncHTTPClient @unittest.skipIf(pycurl is None, "pycurl module not present") class CurlHTTPClientCommonTestCase(httpclient_test.HTTPClientCommonTestCase): def get_http_client(self): client = CurlAsyncHTTPClient(defaults=dict(allow_ipv6=False)) # make sure AsyncHTTPClient magic doesn't give us the wrong class self.assertTrue(isinstance(client, CurlAsyncHTTPClient)) return client class DigestAuthHandler(RequestHandler): def initialize(self, username, password): self.username = username self.password = password def get(self): realm = "test" opaque = "asdf" # Real implementations would use a random nonce. nonce = "1234" auth_header = self.request.headers.get("Authorization", None) if auth_header is not None: auth_mode, params = auth_header.split(" ", 1) assert auth_mode == "Digest" param_dict = {} for pair in params.split(","): k, v = pair.strip().split("=", 1) if v[0] == '"' and v[-1] == '"': v = v[1:-1] param_dict[k] = v assert param_dict["realm"] == realm assert param_dict["opaque"] == opaque assert param_dict["nonce"] == nonce assert param_dict["username"] == self.username assert param_dict["uri"] == self.request.path h1 = md5( utf8("%s:%s:%s" % (self.username, realm, self.password)) ).hexdigest() h2 = md5( utf8("%s:%s" % (self.request.method, self.request.path)) ).hexdigest() digest = md5(utf8("%s:%s:%s" % (h1, nonce, h2))).hexdigest() if digest == param_dict["response"]: self.write("ok") else: self.write("fail") else: self.set_status(401) self.set_header( "WWW-Authenticate", 'Digest realm="%s", nonce="%s", opaque="%s"' % (realm, nonce, opaque), ) class CustomReasonHandler(RequestHandler): def get(self): self.set_status(200, "Custom reason") class CustomFailReasonHandler(RequestHandler): def get(self): self.set_status(400, "Custom reason") @unittest.skipIf(pycurl is None, "pycurl module not present") class CurlHTTPClientTestCase(AsyncHTTPTestCase): def setUp(self): super(CurlHTTPClientTestCase, self).setUp() self.http_client = self.create_client() def get_app(self): return Application( [ ("/digest", DigestAuthHandler, {"username": "foo", "password": "bar"}), ( "/digest_non_ascii", DigestAuthHandler, {"username": "foo", "password": "barユ£"}, ), ("/custom_reason", CustomReasonHandler), ("/custom_fail_reason", CustomFailReasonHandler), ] ) def create_client(self, **kwargs): return CurlAsyncHTTPClient( force_instance=True, defaults=dict(allow_ipv6=False), **kwargs ) def test_digest_auth(self): response = self.fetch( "/digest", auth_mode="digest", auth_username="foo", auth_password="bar" ) self.assertEqual(response.body, b"ok") def test_custom_reason(self): response = self.fetch("/custom_reason") self.assertEqual(response.reason, "Custom reason") def test_fail_custom_reason(self): response = self.fetch("/custom_fail_reason") self.assertEqual(str(response.error), "HTTP 400: Custom reason") def test_digest_auth_non_ascii(self): response = self.fetch( "/digest_non_ascii", auth_mode="digest", auth_username="foo", auth_password="barユ£", ) self.assertEqual(response.body, b"ok")
Save
cmd:
run