Provider uses update_item
This commit is contained in:
parent
266437a4d1
commit
8fd416fae1
2 changed files with 20 additions and 22 deletions
|
@ -314,17 +314,8 @@ where
|
||||||
continue;
|
continue;
|
||||||
},
|
},
|
||||||
Some(item) => {
|
Some(item) => {
|
||||||
//
|
if let Err(err) = cal_local.update_item(item.clone()).await {
|
||||||
//
|
result.error(&format!("Unable to update item {} in local calendar: {}", id_change, err));
|
||||||
//
|
|
||||||
//
|
|
||||||
// TODO: implement update_item (maybe only create_item also updates it?)
|
|
||||||
//
|
|
||||||
if let Err(err) = cal_local.immediately_delete_item(&id_change).await {
|
|
||||||
result.error(&format!("Unable to delete (update) item {} from local calendar: {}", id_change, err));
|
|
||||||
}
|
|
||||||
if let Err(err) = cal_local.add_item(item.clone()).await {
|
|
||||||
result.error(&format!("Unable to add (update) item {} to local calendar: {}", id_change, err));
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -359,17 +350,8 @@ where
|
||||||
continue;
|
continue;
|
||||||
},
|
},
|
||||||
Some(item) => {
|
Some(item) => {
|
||||||
//
|
match cal_remote.update_item(item.clone()).await {
|
||||||
//
|
Err(err) => result.error(&format!("Unable to update item {} in remote calendar: {}", id_change, err)),
|
||||||
//
|
|
||||||
//
|
|
||||||
// TODO: implement update_item (maybe only create_item also updates it?)
|
|
||||||
//
|
|
||||||
if let Err(err) = cal_remote.delete_item(&id_change).await {
|
|
||||||
result.error(&format!("Unable to delete (update) item {} from remote calendar: {}", id_change, err));
|
|
||||||
}
|
|
||||||
match cal_remote.add_item(item.clone()).await {
|
|
||||||
Err(err) => log::error!("Unable to add (update) item {} to remote calendar: {}", id_change, err),
|
|
||||||
Ok(new_ss) => {
|
Ok(new_ss) => {
|
||||||
// Update local sync status
|
// Update local sync status
|
||||||
item.set_sync_status(new_ss);
|
item.set_sync_status(new_ss);
|
||||||
|
|
|
@ -34,6 +34,7 @@ impl TestFlavour {
|
||||||
pub fn normal_with_errors9() -> Self { Self{} }
|
pub fn normal_with_errors9() -> Self { Self{} }
|
||||||
pub fn normal_with_errors10() -> Self { Self{} }
|
pub fn normal_with_errors10() -> Self { Self{} }
|
||||||
pub fn normal_with_errors11() -> Self { Self{} }
|
pub fn normal_with_errors11() -> Self { Self{} }
|
||||||
|
pub fn normal_with_errors12() -> Self { Self{} }
|
||||||
|
|
||||||
pub async fn run(&self, _max_attempts: u32) {
|
pub async fn run(&self, _max_attempts: u32) {
|
||||||
println!("WARNING: This test required the \"integration_tests\" Cargo feature");
|
println!("WARNING: This test required the \"integration_tests\" Cargo feature");
|
||||||
|
@ -188,6 +189,16 @@ impl TestFlavour {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn normal_with_errors12() -> Self {
|
||||||
|
Self {
|
||||||
|
scenarii: scenarii::scenarii_basic(),
|
||||||
|
mock_behaviour: Arc::new(Mutex::new(MockBehaviour{
|
||||||
|
update_item_behaviour: (0,3),
|
||||||
|
..MockBehaviour::default()
|
||||||
|
})),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
pub async fn run(&self, max_attempts: u32) {
|
pub async fn run(&self, max_attempts: u32) {
|
||||||
self.mock_behaviour.lock().unwrap().suspend();
|
self.mock_behaviour.lock().unwrap().suspend();
|
||||||
|
@ -306,6 +317,11 @@ async fn test_errors_in_regular_sync11() {
|
||||||
run_flavour(TestFlavour::normal_with_errors11(), 100).await;
|
run_flavour(TestFlavour::normal_with_errors11(), 100).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[tokio::test]
|
||||||
|
async fn test_errors_in_regular_sync12() {
|
||||||
|
run_flavour(TestFlavour::normal_with_errors12(), 100).await;
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(feature = "integration_tests")]
|
#[cfg(feature = "integration_tests")]
|
||||||
use my_tasks::{traits::CalDavSource,
|
use my_tasks::{traits::CalDavSource,
|
||||||
Provider,
|
Provider,
|
||||||
|
|
Loading…
Add table
Reference in a new issue