Skip to content

Commit 05e0a3c

Browse files
committed
f Test we can operate at max chars (in particular on Windows)
1 parent 4b645da commit 05e0a3c

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

lightning-persister/src/test_utils.rs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use lightning::util::persist::KVStore;
1+
use lightning::util::persist::{KVStore, KVSTORE_NAMESPACE_KEY_MAX_LEN};
22

33
use std::panic::RefUnwindSafe;
44

@@ -31,4 +31,20 @@ pub(crate) fn do_read_write_remove_list_persist<K: KVStore + RefUnwindSafe>(kv_s
3131

3232
let listed_keys = kv_store.list(namespace, sub_namespace).unwrap();
3333
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);
3450
}

0 commit comments

Comments
 (0)