diff --git a/apps/desktop/desktop_native/core/src/secure_memory/dpapi.rs b/apps/desktop/desktop_native/core/src/secure_memory/dpapi.rs index 0f2f2e44fe9..16c0b7b51fa 100644 --- a/apps/desktop/desktop_native/core/src/secure_memory/dpapi.rs +++ b/apps/desktop/desktop_native/core/src/secure_memory/dpapi.rs @@ -109,16 +109,30 @@ impl Drop for DpapiSecretKVStore { #[cfg(test)] mod tests { + use super::*; + + #[test] + fn test_dpapi_secret_kv_store_various_sizes() { + let mut store = DpapiSecretKVStore::new(); + for size in 0..=2048 { + let key = format!("test_key_{}", size); + let value: Vec = (0..size).map(|i| (i % 256) as u8).collect(); + store.put(key.clone(), &value); + assert!(store.has(&key), "Store should have key for size {}", size); + assert_eq!(store.get(&key), Some(value), "Value mismatch for size {}", size); + } + } #[test] - fn test_dpapi_secret_kv_store() { + fn test_dpapi_crud() { let mut store = DpapiSecretKVStore::new(); let key = "test_key".to_string(); let value = vec![1, 2, 3, 4, 5]; - store.put(key.clone(), &value); assert!(store.has(&key)); assert_eq!(store.get(&key), Some(value)); + store.remove(&key); + assert!(!store.has(&key)); } }