MCPcopy Create free account
hub / github.com/SeismicSystems/summit / test_checkpoint_overwrite

Function test_checkpoint_overwrite

finalizer/src/db.rs:889–928  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

887 db.commit().await.unwrap();
888
889 // Latest should still be epoch 5, not 3
890 let (latest, _) = db.get_latest_finalized_checkpoint().await.0.unwrap();
891 assert_eq!(latest.digest, checkpoint5.digest);
892
893 // Store epoch 7 (newer than current latest)
894 db.store_finalized_checkpoint(7, &checkpoint7, Block::genesis([0; 32]))
895 .await
896 .unwrap();
897 db.commit().await.unwrap();
898
899 // Latest should now be epoch 7
900 let (latest, _) = db.get_latest_finalized_checkpoint().await.0.unwrap();
901 assert_eq!(latest.digest, checkpoint7.digest);
902
903 // All checkpoints should still be individually accessible
904 let (cp3, _) = db.get_finalized_checkpoint(3).await.unwrap();
905 let (cp5, _) = db.get_finalized_checkpoint(5).await.unwrap();
906 let (cp7, _) = db.get_finalized_checkpoint(7).await.unwrap();
907 assert_eq!(cp3.digest, checkpoint3.digest);
908 assert_eq!(cp5.digest, checkpoint5.digest);
909 assert_eq!(cp7.digest, checkpoint7.digest);
910 });
911 }
912
913 #[test]
914 fn test_checkpoint_overwrite() {
915 let cfg = commonware_runtime::deterministic::Config::default().with_seed(7);
916 let executor = Runner::from(cfg);
917 executor.start(|context| async move {
918 let mut db =
919 create_test_db_with_context::<_, MinPk>("test_checkpoint_overwrite", context).await;
920
921 // Create two different checkpoints for the same epoch
922 let mut state1 = ConsensusState::default();
923 state1.set_latest_height(100);
924
925 let checkpoint1 = summit_types::checkpoint::Checkpoint::new(&state1);
926
927 let mut state2 = ConsensusState::default();
928 state2.set_latest_height(200);
929 let checkpoint2 = summit_types::checkpoint::Checkpoint::new(&state2);
930
931 // Store first checkpoint for epoch 2

Callers

nothing calls this directly

Calls 6

commitMethod · 0.80
startMethod · 0.45
set_latest_heightMethod · 0.45

Tested by

no test coverage detected