commit 05d6103a019e529deeb64f6a5b2ff5afa4fb93c6
parent f0121ffe789a07fa699c30d17f872866b992f0cc
Author: triesap <tyson@radroots.org>
Date: Sun, 14 Jun 2026 15:47:08 -0700
tests: prove pocket boundary operations
Diffstat:
1 file changed, 45 insertions(+), 0 deletions(-)
diff --git a/crates/tangle_store_pocket/src/lib.rs b/crates/tangle_store_pocket/src/lib.rs
@@ -742,6 +742,51 @@ mod tests {
}
#[test]
+ fn pocket_store_handle_syncs_written_events_and_extra_records() {
+ let root = temp_root("tangle-pocket-sync");
+ let config = PocketStoreConfig::new(
+ root.join("pocket"),
+ 1024 * 1024 * 1024,
+ 128,
+ PocketSyncPolicy::FlushOnShutdown,
+ )
+ .expect("config");
+ let handle = PocketStoreHandle::open(&config).expect("open");
+ let event =
+ parse_pocket_event_json(event_json_with("d", "4", "synced").as_bytes()).expect("event");
+
+ let offset = handle.store_event(&event).expect("store");
+ handle
+ .put_extra_record(
+ TANGLE_GROUP_CHECKPOINT_TABLE,
+ b"checkpoint\0sync",
+ b"synced",
+ )
+ .expect("checkpoint");
+ handle.sync().expect("sync");
+ drop(handle);
+
+ let reopened = PocketStoreHandle::open(&config).expect("reopen");
+ let by_id = reopened
+ .event_by_id(event.id())
+ .expect("lookup")
+ .expect("event");
+ let by_offset = reopened.event_by_offset(offset).expect("offset");
+
+ assert_eq!(by_id.id(), event.id());
+ assert_eq!(by_offset.id(), event.id());
+ assert_eq!(
+ reopened
+ .get_extra_record(TANGLE_GROUP_CHECKPOINT_TABLE, b"checkpoint\0sync")
+ .expect("checkpoint"),
+ Some(b"synced".to_vec())
+ );
+
+ drop(reopened);
+ let _ = std::fs::remove_dir_all(root);
+ }
+
+ #[test]
fn pocket_store_config_preserves_explicit_storage_boundary() {
let config = PocketStoreConfig::new(
"runtime/radroots/tangle/pocket",