Files
skill-lib/tests/compat_memory_test.rs

43 lines
1.5 KiB
Rust

use std::path::{Path, PathBuf};
use sgclaw::compat::config_adapter::build_zeroclaw_config_from_settings;
use sgclaw::config::DeepSeekSettings;
use zeroclaw::memory::MemoryCategory;
fn workspace_root(label: &str) -> PathBuf {
let root = std::env::temp_dir().join(format!("{label}-{}", uuid::Uuid::new_v4()));
std::fs::create_dir_all(&root).unwrap();
root
}
#[tokio::test]
async fn compat_memory_adapter_uses_workspace_local_sqlite_backend() {
let settings = DeepSeekSettings {
api_key: "key".to_string(),
base_url: "https://api.deepseek.com".to_string(),
model: "deepseek-chat".to_string(),
};
let workspace_root = workspace_root("sgclaw-memory");
let config = build_zeroclaw_config_from_settings(Path::new(&workspace_root), &settings);
assert_eq!(config.memory.backend, "sqlite");
assert_eq!(config.memory.embedding_provider, "none");
assert!(!config.memory.response_cache_enabled);
assert!(!config.memory.snapshot_enabled);
assert!(config.storage.provider.config.provider.is_empty());
let memory = sgclaw::compat::memory_adapter::build_memory(&config).unwrap();
memory
.store(
"weather",
"remember today's weather workflow",
MemoryCategory::Conversation,
None,
)
.await
.unwrap();
assert_eq!(memory.count().await.unwrap(), 1);
assert!(sgclaw::compat::memory_adapter::brain_db_path(&config.workspace_dir).exists());
}