maximize safe Cloudflare edge caching

This commit is contained in:
2569718930@qq.com
2026-06-10 20:04:33 +08:00
parent 05ec1fd993
commit e085333a03
3 changed files with 92 additions and 49 deletions
+21 -4
View File
@@ -5,14 +5,27 @@ from scripts.configure_cloudflare_free import (
)
def test_cloudflare_managed_rules_cache_public_content_then_bypass_sensitive_requests():
def test_cloudflare_managed_rules_apply_path_specific_edge_ttls_then_bypass_sensitive_requests():
rules = build_managed_cache_rules()
assert [rule["ref"] for rule in rules] == [
f"{MANAGED_RULE_REF_PREFIX}public",
f"{MANAGED_RULE_REF_PREFIX}static",
f"{MANAGED_RULE_REF_PREFIX}pages",
f"{MANAGED_RULE_REF_PREFIX}cities",
f"{MANAGED_RULE_REF_PREFIX}city_detail",
f"{MANAGED_RULE_REF_PREFIX}scan",
f"{MANAGED_RULE_REF_PREFIX}bypass",
]
assert rules[0]["action_parameters"]["cache"] is True
assert [
rule["action_parameters"]["edge_ttl"]["status_code_ttl"][0]["value"]
for rule in rules[:3]
] == [31536000, 600, 300]
for rule in rules[:3]:
assert rule["action_parameters"]["cache"] is True
assert rule["action_parameters"]["edge_ttl"]["mode"] == "respect_origin"
assert rule["action_parameters"]["edge_ttl"]["status_code_ttl"][1]["value"] == 0
for rule in rules[3:-1]:
assert rule["action_parameters"] == {"cache": True}
assert rules[-1]["action_parameters"]["cache"] is False
assert 'http.host eq "api.polyweather.top"' in rules[-1]["expression"]
assert 'http.request.uri.query contains "force_refresh=true"' in rules[-1]["expression"]
@@ -42,7 +55,11 @@ def test_cloudflare_rule_merge_preserves_unmanaged_rules_and_puts_bypass_last():
assert [rule["ref"] for rule in merged] == [
"existing_rule",
f"{MANAGED_RULE_REF_PREFIX}public",
f"{MANAGED_RULE_REF_PREFIX}static",
f"{MANAGED_RULE_REF_PREFIX}pages",
f"{MANAGED_RULE_REF_PREFIX}cities",
f"{MANAGED_RULE_REF_PREFIX}city_detail",
f"{MANAGED_RULE_REF_PREFIX}scan",
f"{MANAGED_RULE_REF_PREFIX}bypass",
]
assert merged[-1]["action_parameters"]["cache"] is False