mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-07-20 07:27:31 +00:00
95 lines
2.2 KiB
Rust
95 lines
2.2 KiB
Rust
use crate::revision_test::script::RevisionScript::*;
|
|
use crate::revision_test::script::{InvalidRevisionObject, RevisionTest};
|
|
|
|
#[tokio::test]
|
|
async fn revision_write_to_disk_test() {
|
|
let test = RevisionTest::new_with_configuration(2).await;
|
|
test
|
|
.run_script(AddLocalRevision {
|
|
content: "123".to_string(),
|
|
})
|
|
.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 {
|
|
test
|
|
.run_script(AddLocalRevision {
|
|
content: format!("{}", i),
|
|
})
|
|
.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;
|
|
test
|
|
.run_scripts(vec![
|
|
AddLocalRevision {
|
|
content: "123".to_string(),
|
|
},
|
|
AssertNumberOfRevisionsInDisk { num: 0 },
|
|
WaitWhenWriteToDisk,
|
|
AssertNumberOfRevisionsInDisk { num: 1 },
|
|
])
|
|
.await;
|
|
|
|
let test = RevisionTest::new_with_other(test).await;
|
|
test
|
|
.run_scripts(vec![
|
|
AssertNextSyncRevisionId { rev_id: Some(1) },
|
|
AddLocalRevision {
|
|
content: "456".to_string(),
|
|
},
|
|
AckRevision { rev_id: 1 },
|
|
AssertNextSyncRevisionId { rev_id: Some(2) },
|
|
])
|
|
.await;
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn revision_read_from_disk_with_invalid_record_test() {
|
|
let test = RevisionTest::new_with_configuration(2).await;
|
|
test
|
|
.run_scripts(vec![AddLocalRevision {
|
|
content: "123".to_string(),
|
|
}])
|
|
.await;
|
|
|
|
test
|
|
.run_scripts(vec![
|
|
AddInvalidLocalRevision {
|
|
bytes: InvalidRevisionObject::new().to_bytes(),
|
|
},
|
|
WaitWhenWriteToDisk,
|
|
])
|
|
.await;
|
|
|
|
let test = RevisionTest::new_with_other(test).await;
|
|
test
|
|
.run_scripts(vec![AssertNextSyncRevisionContent {
|
|
expected: "123".to_string(),
|
|
}])
|
|
.await;
|
|
}
|