1 use test_programs::wasi::keyvalue::{atomics, batch, store};
2
main()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