pub(crate) mod builder_tests;
pub(crate) mod error_tests;
#[cfg(feature = "lua")]
pub(crate) mod lua_tests;
pub(crate) mod pipeline_tests;
pub(crate) mod reader_tests;
pub(crate) mod sync_tests;
pub(crate) mod writer_tests;
use super::client::RedisBackend;
use crate::backend::{CacheConnector, CacheWriter};
use std::sync::atomic::{AtomicU64, Ordering};
pub(crate) const REDIS_URL: &str = "redis://127.0.0.1:6379";
pub(crate) const REDIS_URL_DB1: &str = "redis://127.0.0.1:6379/1";
pub(crate) const KEY_PREFIX: &str = "test_client:";
static UID: AtomicU64 = AtomicU64::new(0);
pub(crate) fn unique_key(suffix: &str) -> String {
let id = UID.fetch_add(1, Ordering::SeqCst);
format!("{}{}_{}", KEY_PREFIX, id, suffix)
}
pub(crate) fn set_allow_insecure_env() {
set_insecure_env("I_UNDERSTAND_THE_RISKS");
}
pub(crate) fn set_insecure_env(value: &str) {
unsafe {
std::env::set_var("OXCACHE_ALLOW_INSECURE_REDIS", value);
}
}
pub(crate) fn remove_allow_insecure_env() {
unsafe {
std::env::remove_var("OXCACHE_ALLOW_INSECURE_REDIS");
}
}
pub(crate) async fn make_backend() -> RedisBackend {
set_allow_insecure_env();
RedisBackend::new(REDIS_URL)
.await
.unwrap_or_else(|e| panic!("Redis connection failed ({}): {}", REDIS_URL, e))
}
#[allow(dead_code)]
pub(crate) async fn make_backend_with_url(url: &str) -> RedisBackend {
set_allow_insecure_env();
RedisBackend::new(url)
.await
.unwrap_or_else(|e| panic!("Redis connection failed ({}): {}", url, e))
}
pub(crate) async fn cleanup(backend: &RedisBackend, key: &str) {
#[allow(let_underscore_drop)]
let _ = backend.delete(key).await;
}