| from core import rate_limit | |
| from core.config import settings | |
| def test_rate_limit_in_memory(monkeypatch): | |
| monkeypatch.setattr(settings, "max_ai_summaries_per_day", 2) | |
| monkeypatch.setattr(settings, "redis_url", "") | |
| rate_limit._state["date"] = None | |
| rate_limit._state["count"] = 0 | |
| allowed1, info1 = rate_limit.check_and_increment_global_ai_cap() | |
| allowed2, info2 = rate_limit.check_and_increment_global_ai_cap() | |
| allowed3, info3 = rate_limit.check_and_increment_global_ai_cap() | |
| assert allowed1 is True | |
| assert allowed2 is True | |
| assert allowed3 is False | |
| assert info3["limit"] == 2 | |