feat(timeout):

implement (class-bound, instance-bound, request-bound) session timeout
for requests. fix docs config, fix aiohttp session docs links.
This commit is contained in:
mpa 2020-05-06 02:42:54 +04:00
parent 2adc19724d
commit df4ba87dfc
6 changed files with 55 additions and 16 deletions

View file

@ -54,12 +54,33 @@ class TestBaseSession:
assert session.json_loads == custom_loads == session._json_loads
different_session = CustomSession()
assert all(not hasattr(different_session, attr) for attr in ("_json_loads", "_json_dumps", "_api"))
assert all(
not hasattr(different_session, attr) for attr in ("_json_loads", "_json_dumps", "_api")
)
def test_timeout(self):
session = CustomSession()
assert session.timeout == session.default_timeout == CustomSession.default_timeout
session.default_timeout = float(65.0_0) # mypy will complain
assert session.timeout != session.default_timeout
CustomSession.default_timeout = float(68.0_0)
assert session.timeout == CustomSession.default_timeout
session.timeout = float(71.0_0)
assert session.timeout != session.default_timeout
del session.timeout
CustomSession.default_timeout = session.default_timeout + 100
assert (
session.timeout != BaseSession.default_timeout
and session.timeout == CustomSession.default_timeout
)
def test_init_custom_api(self):
api = TelegramAPIServer(
base="http://example.com/{token}/{method}",
file="http://example.com/{token}/file/{path{",
file="http://example.com/{token}/file/{path}",
)
session = CustomSession()
session.api = api