use horon_engine::{HTTStorage, HTTStorageConfig};
#[test]
fn test_basic_operations() {
let config = HTTStorageConfig::default();
let storage = HTTStorage::new(config);
let path = "/test/basic";
let data = b"Hello, HTT!";
storage.store(path, data, None).unwrap();
assert!(storage.exists(path));
let retrieved = storage.retrieve(path).unwrap();
assert_eq!(retrieved, data);
let keys = storage.list("/test").unwrap();
assert!(keys.contains(&path.to_string()));
storage.delete(path).unwrap();
assert!(!storage.exists(path));
}
#[test]
fn test_metadata_operations() {
let config = HTTStorageConfig::default();
let storage = HTTStorage::new(config);
let path = "/test/metadata";
let data = b"Hello, HTT!";
storage.store(path, data, Some("text/plain".to_string())).unwrap();
let metadata = storage.get_metadata(path).unwrap();
assert_eq!(metadata.get("content_type").unwrap(), "text/plain");
storage.set_metadata(path, "author", "test").unwrap();
let updated_metadata = storage.get_metadata(path).unwrap();
assert_eq!(updated_metadata.get("author").unwrap(), "test");
storage.delete(path).unwrap();
}