from resonance_engine.tasks.infra import MAX_CONCURRENCY, get_recommended_concurrency class TestRecommendedConcurrency: def test_cold_start_seeds_from_nominal(self) -> None: # no observed rps → ceil(11 * 0.85 * 0.5) = 5 assert get_recommended_concurrency(11, latency_s=0.5) == 5 def test_minimum_is_one(self) -> None: assert get_recommended_concurrency(0, latency_s=0.5) == 1 def test_capped_at_max(self) -> None: assert get_recommended_concurrency(100_000, latency_s=0.5) == MAX_CONCURRENCY def test_grows_when_no_throttle(self) -> None: # ran = 20 * 0.5 = 10 concurrency; clean → 10 / 0.85 = 11.76 → 12 (grow) assert get_recommended_concurrency(11, observed_rps=20, latency_s=0.5) == 12 def test_backs_off_when_throttled(self) -> None: # ran = 10; 20% throttled → 10 * 0.8 = 8 (shrink below what ran) assert ( get_recommended_concurrency( 11, observed_rps=20, latency_s=0.5, throttle_rate=0.2 ) == 8 )