summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2020-02-21 17:46:13 +0100
committerMatthias Beyer <mail@beyermatthias.de>2020-02-21 17:46:13 +0100
commitfdea85c0148d092c63e1d113dcc8280fd23f51d6 (patch)
treee99b1da65d639a4678153733593115c16713d719
parent44a22a225e3a3d14176189e42e3715f477804e57 (diff)
Add test whether Store::is_borrowed() works as expected
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--lib/core/libimagstore/src/store.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/core/libimagstore/src/store.rs b/lib/core/libimagstore/src/store.rs
index 5137b517..52f9e91f 100644
--- a/lib/core/libimagstore/src/store.rs
+++ b/lib/core/libimagstore/src/store.rs
@@ -1287,4 +1287,38 @@ mod store_tests {
}
}
+ #[test]
+ fn test_whether_entry_is_borrowed() {
+ use crate::storeid::StoreId;
+ setup_logging();
+
+ let store = get_store();
+
+ let one = StoreId::new(PathBuf::from("one")).unwrap();
+ let two = StoreId::new(PathBuf::from("two")).unwrap();
+
+ debug!("Creating entries");
+ let _ = store.create(one.clone()).unwrap();
+ let _ = store.create(two.clone()).unwrap();
+
+ assert!(!store.is_borrowed(one.clone()).unwrap());
+ assert!(!store.is_borrowed(two.clone()).unwrap());
+
+ let one_entry = store.get(one.clone()).unwrap().unwrap();
+
+ assert!(store.is_borrowed(one.clone()).unwrap());
+ assert!(!store.is_borrowed(two.clone()).unwrap());
+
+ let two_entry = store.get(two.clone()).unwrap().unwrap();
+
+ assert!(store.is_borrowed(one.clone()).unwrap());
+ assert!(store.is_borrowed(two.clone()).unwrap());
+
+ drop(one_entry);
+ drop(two_entry);
+
+ assert!(!store.is_borrowed(one.clone()).unwrap());
+ assert!(!store.is_borrowed(two.clone()).unwrap());
+ }
+
}