|
1 |
| -use lightning::util::persist::KVStore; |
| 1 | +use lightning::util::persist::{KVStore, KVSTORE_NAMESPACE_KEY_MAX_LEN}; |
2 | 2 |
|
3 | 3 | use std::panic::RefUnwindSafe;
|
4 | 4 |
|
@@ -31,4 +31,20 @@ pub(crate) fn do_read_write_remove_list_persist<K: KVStore + RefUnwindSafe>(kv_s
|
31 | 31 |
|
32 | 32 | let listed_keys = kv_store.list(namespace, sub_namespace).unwrap();
|
33 | 33 | assert_eq!(listed_keys.len(), 0);
|
| 34 | + |
| 35 | + // Ensure we have no issue operating with namespace/sub_namespace/key being KVSTORE_NAMESPACE_KEY_MAX_LEN |
| 36 | + let max_chars: String = std::iter::repeat('A').take(KVSTORE_NAMESPACE_KEY_MAX_LEN).collect(); |
| 37 | + kv_store.write(&max_chars, &max_chars, &max_chars, &data).unwrap(); |
| 38 | + |
| 39 | + let listed_keys = kv_store.list(&max_chars, &max_chars).unwrap(); |
| 40 | + assert_eq!(listed_keys.len(), 1); |
| 41 | + assert_eq!(listed_keys[0], max_chars); |
| 42 | + |
| 43 | + let read_data = kv_store.read(&max_chars, &max_chars, &max_chars).unwrap(); |
| 44 | + assert_eq!(data, &*read_data); |
| 45 | + |
| 46 | + kv_store.remove(&max_chars, &max_chars, &max_chars, false).unwrap(); |
| 47 | + |
| 48 | + let listed_keys = kv_store.list(&max_chars, &max_chars).unwrap(); |
| 49 | + assert_eq!(listed_keys.len(), 0); |
34 | 50 | }
|
0 commit comments