diff --git a/runner/zone_server/src/state.rs b/runner/zone_server/src/state.rs index b19cf4e3..3871f26b 100644 --- a/runner/zone_server/src/state.rs +++ b/runner/zone_server/src/state.rs @@ -398,6 +398,13 @@ mod tests { use std::path::PathBuf; use zone_context::embeddings::providers::MockEmbeddingService; use zone_core::llm::AgentKind; + use zone_core::variables::Variables; + + const REDIS_URL: &str = "REDIS_URL"; + + fn test_cache_url() -> Option { + std::env::var(REDIS_URL).ok() + } #[test] fn a_test_config_reads_agent_usage_only_from_loopback() { @@ -630,7 +637,13 @@ mod tests { #[tokio::test] async fn cache_accessor_exposes_a_connected_cache_when_available() { - let Ok(cache) = Cache::connect("redis://localhost:6379").await else { + let Some(url) = ({ + let _environment = Variables::lock(); + test_cache_url() + }) else { + return; + }; + let Ok(cache) = Cache::connect(&url).await else { return; }; let pool = PgPool::connect_lazy("postgres://localhost/state-cache") @@ -638,4 +651,13 @@ mod tests { let state = AppState::new(create_test_config(), pool, Some(cache)); assert!(state.cache().is_some()); } + + #[test] + fn the_test_cache_url_comes_only_from_redis_url() { + let mut environment = Variables::isolated(&[REDIS_URL]); + assert_eq!(test_cache_url(), None); + + environment.set(REDIS_URL, "redis://cache.test:6390"); + assert_eq!(test_cache_url().as_deref(), Some("redis://cache.test:6390")); + } }