1 use test_programs::wasi::keyvalue::{atomics, batch, store}; 2 3 fn main() { 4 let bucket = store::open("").unwrap(); 5 6 // we have preset this `atomics_key` with value 5 7 assert_eq!(atomics::increment(&bucket, "atomics_key", 1).unwrap(), 6); 8 9 let resp = bucket.list_keys(None).unwrap(); 10 assert_eq!(resp.keys, vec!["atomics_key".to_string()]); 11 12 bucket.set("hello", "world".as_bytes()).unwrap(); 13 14 let v = bucket.get("hello").unwrap(); 15 assert_eq!(String::from_utf8(v.unwrap()).unwrap(), "world"); 16 17 assert_eq!(bucket.exists("hello").unwrap(), true); 18 bucket.delete("hello").unwrap(); 19 assert_eq!(bucket.exists("hello").unwrap(), false); 20 21 batch::set_many( 22 &bucket, 23 &[ 24 ("a1".to_string(), "v1".as_bytes().to_vec()), 25 ("b1".to_string(), "v1".as_bytes().to_vec()), 26 ("c1".to_string(), "v1".as_bytes().to_vec()), 27 ], 28 ) 29 .unwrap(); 30 batch::delete_many(&bucket, &["a1".to_string(), "c1".to_string()]).unwrap(); 31 let values = batch::get_many( 32 &bucket, 33 &["a1".to_string(), "b1".to_string(), "c1".to_string()], 34 ) 35 .unwrap(); 36 assert_eq!( 37 values, 38 vec![ 39 None, 40 Some(("b1".to_string(), "v1".as_bytes().to_vec())), 41 None 42 ] 43 ); 44 } 45