machineread / backend /tests /test_rate_limits.py
georgejieh
MachineRead Essentials backend for HF Space
7d7841f unverified
Raw History Blame Contribute Delete
1.12 kB
import os
import sys
import unittest
from pathlib import Path
from unittest.mock import patch
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
from app.main import DEFAULT_AUDIT_RATE_LIMIT, audit_rate_limit
class RateLimitConfigTests(unittest.TestCase):
def test_audit_rate_limit_uses_local_default_when_unset(self) -> None:
with patch.dict(os.environ, {}, clear=True):
self.assertEqual(audit_rate_limit(), DEFAULT_AUDIT_RATE_LIMIT)
def test_audit_rate_limit_uses_configured_value(self) -> None:
with patch.dict(os.environ, {"MACHINEREAD_AUDIT_RATE_LIMIT": "10/minute"}):
self.assertEqual(audit_rate_limit(), "10/minute")
def test_audit_rate_limit_strips_and_falls_back_when_blank(self) -> None:
with patch.dict(os.environ, {"MACHINEREAD_AUDIT_RATE_LIMIT": " "}):
self.assertEqual(audit_rate_limit(), DEFAULT_AUDIT_RATE_LIMIT)
with patch.dict(os.environ, {"MACHINEREAD_AUDIT_RATE_LIMIT": " 5/minute "}):
self.assertEqual(audit_rate_limit(), "5/minute")
if __name__ == "__main__":
unittest.main()