web-scraper / tests /test_config.py
Claude
Add rate limiting, tests, better extraction, and HF auto-deploy
ebab0e2 unverified
Raw History Blame Contribute Delete
1.51 kB
from app.config import load_settings
def test_defaults_when_environment_is_empty():
settings = load_settings(env={})
assert settings.scrape_timeout_ms == 30000
assert settings.max_concurrent_scrapes == 3
assert settings.port == 7860
assert settings.rate_limit_requests == 20
assert settings.rate_limit_window_seconds == 60
assert settings.api_key is None
assert settings.cache_ttl_seconds == 300
assert settings.cache_max_size == 256
assert "Mozilla" in settings.user_agent
def test_reads_overrides_from_the_given_environment_mapping():
env = {
"SCRAPE_TIMEOUT_MS": "5000",
"MAX_CONCURRENT_SCRAPES": "7",
"PORT": "9000",
"RATE_LIMIT_REQUESTS": "5",
"RATE_LIMIT_WINDOW_SECONDS": "30",
"SCRAPER_API_KEY": "secret123",
"CACHE_TTL_SECONDS": "0",
"CACHE_MAX_SIZE": "10",
"SCRAPER_USER_AGENT": "TestAgent/1.0",
}
settings = load_settings(env=env)
assert settings.scrape_timeout_ms == 5000
assert settings.max_concurrent_scrapes == 7
assert settings.port == 9000
assert settings.rate_limit_requests == 5
assert settings.rate_limit_window_seconds == 30
assert settings.api_key == "secret123"
assert settings.cache_ttl_seconds == 0
assert settings.cache_max_size == 10
assert settings.user_agent == "TestAgent/1.0"
def test_blank_api_key_is_treated_as_unset():
settings = load_settings(env={"SCRAPER_API_KEY": ""})
assert settings.api_key is None