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