chore: import upstream snapshot with attribution
Publish Docker Image / publish (push) Has been cancelled
Publish Docker Image / publish (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
"""Configurable, bounded request timeout (issue #776).
|
||||
|
||||
The improve/tailor request timeout must be env-configurable (slow local LLMs
|
||||
need more than 240s) but bounded so a stuck request can't hold a worker
|
||||
indefinitely, and robust to blank/garbage env values (which must not crash
|
||||
startup).
|
||||
"""
|
||||
|
||||
from app.config import Settings
|
||||
|
||||
|
||||
class TestRequestTimeoutSetting:
|
||||
def test_default_is_240(self):
|
||||
assert Settings.model_fields["request_timeout_seconds"].default == 240
|
||||
|
||||
def test_clamps_below_minimum(self):
|
||||
assert Settings(request_timeout_seconds=5).request_timeout_seconds == 30
|
||||
|
||||
def test_clamps_above_maximum(self):
|
||||
assert Settings(request_timeout_seconds=99999).request_timeout_seconds == 1800
|
||||
|
||||
def test_accepts_in_range(self):
|
||||
assert Settings(request_timeout_seconds=900).request_timeout_seconds == 900
|
||||
|
||||
def test_blank_string_falls_back_to_default(self):
|
||||
# A blank env var (REQUEST_TIMEOUT_SECONDS=) must not crash; defaults to 240.
|
||||
assert Settings(request_timeout_seconds="").request_timeout_seconds == 240
|
||||
|
||||
def test_garbage_falls_back_to_default(self):
|
||||
assert Settings(request_timeout_seconds="abc").request_timeout_seconds == 240
|
||||
|
||||
def test_float_string_is_coerced(self):
|
||||
assert Settings(request_timeout_seconds="300.0").request_timeout_seconds == 300
|
||||
|
||||
def test_infinity_falls_back_to_default(self):
|
||||
# int(float("inf")) raises OverflowError — must not crash startup (PR #833 review).
|
||||
assert Settings(request_timeout_seconds="inf").request_timeout_seconds == 240
|
||||
|
||||
def test_nan_falls_back_to_default(self):
|
||||
assert Settings(request_timeout_seconds="nan").request_timeout_seconds == 240
|
||||
Reference in New Issue
Block a user