MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / test_view_operations

Function test_view_operations

atomic-core/src/pristine/txn/write/tests.rs:33–65  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

31
32 #[test]
33 fn test_view_operations() {
34 let dir = tempdir().unwrap();
35 let db_path = dir.path().join("pristine");
36 let pristine = Pristine::open(&db_path).unwrap();
37
38 let mut txn = pristine.write_txn().unwrap();
39
40 // Create a view
41 let mut view = txn.open_or_create_view("main").unwrap();
42 assert_eq!(view.name, "main");
43 assert_eq!(view.change_count, 0);
44
45 // Add a change
46 let hash = Hash::of(b"change 1");
47 let change_id = txn.register_change(&hash).unwrap();
48 let seq = txn.put_change(&mut view, change_id, &hash).unwrap();
49 assert_eq!(seq, 0);
50 assert_eq!(view.change_count, 1);
51
52 // Update view state
53 txn.update_view(&view).unwrap();
54
55 // List views
56 let views = txn.list_views().unwrap();
57 assert_eq!(views, vec!["main"]);
58
59 txn.commit().unwrap();
60
61 // Read back
62 let txn = pristine.read_txn().unwrap();
63 let view = txn.get_view("main").unwrap().unwrap();
64 assert_eq!(view.change_count, 1);
65 }
66
67 #[test]
68 fn test_register_tag() {

Callers

nothing calls this directly

Calls 11

write_txnMethod · 0.80
open_or_create_viewMethod · 0.80
register_changeMethod · 0.80
put_changeMethod · 0.80
update_viewMethod · 0.80
commitMethod · 0.80
read_txnMethod · 0.80
unwrapMethod · 0.45
pathMethod · 0.45
list_viewsMethod · 0.45
get_viewMethod · 0.45

Tested by

no test coverage detected