v0.25.1
This commit is contained in:
1 parent
87e571c170
commit
fa7abc9e53
308 files changed
+49746
-50237
No files matched your search
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user