@@ -0,0 +1,41 @@
|
||||
# retoor <retoor@molodetz.nl>
|
||||
|
||||
from dataclasses import replace
|
||||
|
||||
from devplacepy.services.devii.config import load_settings
|
||||
from devplacepy.services.devii.fetch.controller import MIN_FETCH_CHARS, FetchController
|
||||
|
||||
|
||||
def _controller(ceiling):
|
||||
return FetchController(replace(load_settings(), fetch_max_chars=ceiling))
|
||||
|
||||
|
||||
def test_optional_cap_defaults_to_ceiling():
|
||||
controller = _controller(2000)
|
||||
assert controller._optional_cap(None, "a" * 5000) == "a" * 2000
|
||||
|
||||
|
||||
def test_optional_cap_clamps_large_request_to_ceiling():
|
||||
controller = _controller(2000)
|
||||
assert controller._optional_cap(10**9, "b" * 5000) == "b" * 2000
|
||||
|
||||
|
||||
def test_optional_cap_honors_smaller_request():
|
||||
controller = _controller(2000)
|
||||
assert controller._optional_cap(1500, "c" * 5000) == "c" * 1500
|
||||
|
||||
|
||||
def test_optional_cap_floors_tiny_request():
|
||||
controller = _controller(2000)
|
||||
assert controller._optional_cap(10, "d" * 5000) == "d" * MIN_FETCH_CHARS
|
||||
|
||||
|
||||
def test_optional_cap_invalid_request_falls_back_to_ceiling():
|
||||
controller = _controller(2000)
|
||||
assert controller._optional_cap("many", "e" * 5000) == "e" * 2000
|
||||
|
||||
|
||||
def test_optional_cap_leaves_short_content_alone():
|
||||
controller = _controller(2000)
|
||||
assert controller._optional_cap(None, "short") == "short"
|
||||
assert controller._optional_cap(1500, "short") == "short"
|
||||
Reference in New Issue
Block a user