MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / append_and_recover

Function append_and_recover

nodedb/src/wal/audit_segment.rs:140–162  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

138
139 #[test]
140 fn append_and_recover() {
141 let dir = tempfile::tempdir().expect("create temp dir");
142 let audit_dir = dir.path().join("audit.wal");
143
144 let segment = AuditWalSegment::open(&audit_dir, false).expect("open audit WAL");
145
146 // Append two entries.
147 let lsn1 = segment
148 .append_durable(b"audit-entry-1", 100)
149 .expect("append entry 1");
150 let lsn2 = segment
151 .append_durable(b"audit-entry-2", 200)
152 .expect("append entry 2");
153 assert!(lsn2 > lsn1);
154
155 // Recover.
156 let recovered = segment.recover().expect("recover audit WAL");
157 assert_eq!(recovered.len(), 2);
158 assert_eq!(recovered[0].0, 100); // data_lsn
159 assert_eq!(recovered[0].1, b"audit-entry-1");
160 assert_eq!(recovered[1].0, 200);
161 assert_eq!(recovered[1].1, b"audit-entry-2");
162 }
163
164 #[test]
165 fn empty_recovery() {

Callers

nothing calls this directly

Calls 6

joinMethod · 0.80
append_durableMethod · 0.80
openFunction · 0.50
expectMethod · 0.45
pathMethod · 0.45
recoverMethod · 0.45

Tested by

no test coverage detected