# retoor import requests from tests.conftest import BASE_URL def test_bot_blocked_on_auth_path(app_server): headers = {"User-Agent": "Google-Read-Aloud"} r = requests.get(f"{BASE_URL}/messages", headers=headers) assert r.status_code == 204 assert r.content == b"" def test_bot_blocked_on_game_path(app_server): headers = {"User-Agent": "Google-Read-Aloud"} r = requests.get(f"{BASE_URL}/game", headers=headers) assert r.status_code == 204 assert r.content == b"" def test_bot_blocked_on_admin_path(app_server): headers = {"User-Agent": "Google-Read-Aloud"} r = requests.get(f"{BASE_URL}/admin", headers=headers) assert r.status_code == 204 assert r.content == b"" def test_bot_not_blocked_on_public_path(app_server): headers = {"User-Agent": "Google-Read-Aloud"} r = requests.get(f"{BASE_URL}/", headers=headers) assert r.status_code == 200 def test_normal_user_not_blocked(app_server): r = requests.get(f"{BASE_URL}/messages", allow_redirects=False) assert r.status_code == 303 def test_known_crawler_user_agent_variants(app_server): ua_list = [ "Googlebot", "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)", "bingbot/2.0; +http://www.bing.com/bingbot.htm", "Mozilla/5.0 (compatible; DuckDuckBot-Https/1.1; ...)", "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)", ] for ua in ua_list: headers = {"User-Agent": ua} r = requests.get(f"{BASE_URL}/admin", headers=headers) assert r.status_code == 204, f"Expected 204 for UA: {ua}"