MCPcopy
hub / github.com/nonebot/nonebot2 / test_http_client_timeout

Function test_http_client_timeout

tests/test_driver.py:740–826  ·  view source on GitHub ↗

HTTP requests work with fully unset, partial, and None timeout fields.

(driver: Driver, server_url: URL)

Source from the content-addressed store, hash-verified

738 indirect=True,
739)
740async def test_http_client_timeout(driver: Driver, server_url: URL):
741 """HTTP requests work with fully unset, partial, and None timeout fields."""
742 assert isinstance(driver, HTTPClientMixin)
743
744 # timeout not set, default timeout should apply
745 request = Request("POST", server_url, content="test")
746 response = await driver.request(request)
747 assert response.status_code == 200
748 async for resp in driver.stream_request(request, chunk_size=1024):
749 assert resp.status_code == 200
750
751 # timeout is float or none
752 request = Request("POST", server_url, content="test", timeout=10.0)
753 response = await driver.request(request)
754 assert response.status_code == 200
755 async for resp in driver.stream_request(request, chunk_size=1024):
756 assert resp.status_code == 200
757
758 # all fields unset, default timeout should apply
759 request = Request("POST", server_url, content="test", timeout=Timeout())
760 response = await driver.request(request)
761 assert response.status_code == 200
762 async for resp in driver.stream_request(request, chunk_size=1024):
763 assert resp.status_code == 200
764
765 # only total set
766 request = Request("POST", server_url, content="test", timeout=Timeout(total=10.0))
767 response = await driver.request(request)
768 assert response.status_code == 200
769 async for resp in driver.stream_request(request, chunk_size=1024):
770 assert resp.status_code == 200
771
772 # explicit None (no timeout)
773 request = Request(
774 "POST",
775 server_url,
776 content="test",
777 timeout=Timeout(total=None, connect=None, read=None),
778 )
779 response = await driver.request(request)
780 assert response.status_code == 200
781 async for resp in driver.stream_request(request, chunk_size=1024):
782 assert resp.status_code == 200
783
784 # session with timeout not set
785 session = driver.get_session()
786 async with session:
787 request = Request("POST", server_url, content="test")
788 response = await session.request(request)
789 assert response.status_code == 200
790
791 # session with float or none timeout
792 session = driver.get_session(timeout=10.0)
793 async with session:
794 request = Request("POST", server_url, content="test")
795 response = await session.request(request)
796 assert response.status_code == 200
797

Callers

nothing calls this directly

Calls 5

TimeoutClass · 0.85
RequestClass · 0.50
requestMethod · 0.45
stream_requestMethod · 0.45
get_sessionMethod · 0.45

Tested by

no test coverage detected