123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- use crate::revision_test::script::RevisionScript::*;
- use crate::revision_test::script::{InvalidRevisionObject, RevisionTest};
- use flowy_revision::REVISION_WRITE_INTERVAL_IN_MILLIS;
- #[tokio::test]
- async fn revision_write_to_disk_test() {
- let test = RevisionTest::new_with_configuration(2).await;
- let (base_rev_id, rev_id) = test.next_rev_id_pair();
- test.run_script(AddLocalRevision {
- content: "123".to_string(),
- base_rev_id,
- rev_id,
- })
- .await;
- test.run_scripts(vec![
- AssertNumberOfRevisionsInDisk { num: 0 },
- WaitWhenWriteToDisk,
- AssertNumberOfRevisionsInDisk { num: 1 },
- ])
- .await;
- }
- #[tokio::test]
- async fn revision_write_to_disk_with_merge_test() {
- let test = RevisionTest::new_with_configuration(100).await;
- for i in 0..1000 {
- let (base_rev_id, rev_id) = test.next_rev_id_pair();
- test.run_script(AddLocalRevision {
- content: format!("{}", i),
- base_rev_id,
- rev_id,
- })
- .await;
- }
- test.run_scripts(vec![
- AssertNumberOfRevisionsInDisk { num: 0 },
- AssertNumberOfSyncRevisions { num: 10 },
- WaitWhenWriteToDisk,
- AssertNumberOfRevisionsInDisk { num: 10 },
- ])
- .await;
- }
- #[tokio::test]
- async fn revision_read_from_disk_test() {
- let test = RevisionTest::new_with_configuration(2).await;
- let (base_rev_id, rev_id) = test.next_rev_id_pair();
- test.run_scripts(vec![
- AddLocalRevision {
- content: "123".to_string(),
- base_rev_id,
- rev_id,
- },
- AssertNumberOfRevisionsInDisk { num: 0 },
- WaitWhenWriteToDisk,
- AssertNumberOfRevisionsInDisk { num: 1 },
- ])
- .await;
- let test = RevisionTest::new_with_other(test).await;
- let (base_rev_id, rev_id) = test.next_rev_id_pair();
- test.run_scripts(vec![
- AssertNextSyncRevisionId { rev_id: Some(1) },
- AddLocalRevision {
- content: "456".to_string(),
- base_rev_id,
- rev_id: rev_id.clone(),
- },
- AckRevision { rev_id: 1 },
- AssertNextSyncRevisionId { rev_id: Some(rev_id) },
- ])
- .await;
- }
- #[tokio::test]
- #[should_panic]
- async fn revision_read_from_disk_with_invalid_record_test() {
- let test = RevisionTest::new_with_configuration(2).await;
- let (base_rev_id, rev_id) = test.next_rev_id_pair();
- test.run_script(AddLocalRevision {
- content: "123".to_string(),
- base_rev_id,
- rev_id,
- })
- .await;
- let (base_rev_id, rev_id) = test.next_rev_id_pair();
- test.run_script(AddInvalidLocalRevision {
- bytes: InvalidRevisionObject::new(),
- base_rev_id,
- rev_id,
- })
- .await;
- let test = RevisionTest::new_with_other(test).await;
- test.run_scripts(vec![AssertNextSyncRevisionContent {
- expected: "123".to_string(),
- }])
- .await;
- }
|