This commit is contained in:
Mateusz Gruszczyński committed 2026-10-04 11:15:58 +02:00
1 parent 87e571c170
commit fa7abc9e53
308 files changed
+49746 -50237

No files matched your search

+69
View File
@@ -0,0 +1,69 @@
#[cfg(test)]
mod cache_revision_tests {
use super::*;
#[test]
fn operational_saves_keep_cache_identity_but_cache_affecting_saves_rotate_it() {
let base = config::demo_config("127.0.0.1:9000".parse().unwrap());
let identity = cache_revision(&base);
let mut logging = base.clone();
logging.logging.file.path = "/tmp/rustproxy-test-access.jsonl".into();
assert_eq!(cache_revision(&logging), identity);
assert!(matches!(
cache_invalidation(&base, &logging),
CacheInvalidation::None
));
let mut metrics = base.clone();
metrics.prometheus.include_system = !metrics.prometheus.include_system;
assert_eq!(cache_revision(&metrics), identity);
let mut response = base.clone();
response.server_header.value = "edge-test".into();
response.diagnostic_headers.request_id = !response.diagnostic_headers.request_id;
response.compression.gzip = !response.compression.gzip;
assert_eq!(cache_revision(&response), identity);
let mut docker = base.clone();
docker.docker_agents.agents.push(crate::docker::Agent {
id: "node1".into(),
name: "Node 1".into(),
..Default::default()
});
assert_eq!(cache_revision(&docker), identity);
let mut preset = base.clone();
preset.cache.memory_preset = Some(crate::cache::MemoryPreset::Recommended);
preset.cache.cold_preset = Some(crate::cache::ColdPreset::Recommended);
preset.transform.preset = Some(crate::transform::Preset::Uber);
preset.transform.memory_budget_bytes = 1024 * 1024 * 1024;
preset.transform.max_inflight = 128;
assert_eq!(cache_revision(&preset), identity);
assert!(matches!(
cache_invalidation(&base, &preset),
CacheInvalidation::None
));
let mut transform_policy = base.clone();
transform_policy.transform.json = !transform_policy.transform.json;
assert_ne!(cache_revision(&transform_policy), identity);
let mut transform_body_limit = base.clone();
transform_body_limit.transform.max_body_bytes += 1024;
assert_ne!(cache_revision(&transform_body_limit), identity);
let mut cache = base.clone();
cache.cache.max_entries += 1;
let cache_identity = cache_revision(&cache);
assert_ne!(cache_identity, identity);
assert!(matches!(
cache_invalidation(&base, &cache),
CacheInvalidation::All(value) if value == cache_identity
));
let mut vhost = base.clone();
vhost.vhosts[0].backends[0].url = "http://127.0.0.1:9001".into();
assert_ne!(cache_revision(&vhost), identity);
}
}