private void DeleteTestNote(Outlook.NoteItem outlookNote) { if (outlookNote != null) { try { outlookNote.Delete(); } finally { System.Runtime.InteropServices.Marshal.ReleaseComObject(outlookNote); outlookNote = null; } } }
public void TestSyncDeletedOulook() { //ToDo: Check for eache SyncOption and SyncDelete combination sync.SyncOption = SyncOption.MergeOutlookWins; sync.SyncDelete = true; // create new Note to sync Outlook.NoteItem outlookNote = Synchronizer.CreateOutlookNoteItem(Synchronizer.SyncNotesFolder); outlookNote.Body = body; outlookNote.Save(); Document googleNote = new Document(); googleNote.Type = Document.DocumentType.Document; sync.UpdateNote(outlookNote, googleNote); NoteMatch match = new NoteMatch(outlookNote, googleNote); //save Notes sync.SaveNote(match); for (int i = 0; match.AsyncUpdateCompleted.HasValue && !match.AsyncUpdateCompleted.Value && i < 10; i++) { Thread.Sleep(1000);//DoNothing, until the Async Update is complete, but only wait maximum 10 seconds } // delete outlook Note outlookNote.Delete(); Thread.Sleep(10000); // sync sync.MatchNotes(); NotesMatcher.SyncNotes(sync); // find match match = FindMatch(match.GoogleNote); // delete sync.SaveNote(match); // sync sync.MatchNotes(); NotesMatcher.SyncNotes(sync); // check if google Note still exists match = FindMatch(match.GoogleNote); Assert.IsNull(match); }
public void TestResetMatches() { sync.SyncOption = SyncOption.MergeOutlookWins; // create new Note to sync Outlook.NoteItem outlookNote = Synchronizer.CreateOutlookNoteItem(Synchronizer.SyncNotesFolder); outlookNote.Body = body; outlookNote.Save(); Document googleNote = new Document(); googleNote.Type = Document.DocumentType.Document; sync.UpdateNote(outlookNote, googleNote); NoteMatch match = new NoteMatch(outlookNote, googleNote); //save Note to google. sync.SaveNote(match); for (int i = 0; match.AsyncUpdateCompleted.HasValue && !match.AsyncUpdateCompleted.Value && i < 10; i++) { Thread.Sleep(1000);//DoNothing, until the Async Update is complete, but only wait maximum 10 seconds } //load the same Note from google. sync.MatchNotes(); match = FindMatch(outlookNote); NotesMatcher.SyncNote(match, sync); // delete outlook Note outlookNote.Delete(); match.OutlookNote = null; //load the same Note from google sync.MatchNotes(); match = FindMatch(match.GoogleNote); NotesMatcher.SyncNote(match, sync); Assert.IsNull(match.OutlookNote); // reset matches System.IO.File.Delete(NotePropertiesUtils.GetFileName(match.GoogleNote.Id, sync.SyncProfile)); //Not, because NULL: sync.ResetMatch(match.OutlookNote.GetOriginalItemFromOutlook(sync)); // load same Note match sync.MatchNotes(); match = FindMatch(match.GoogleNote); NotesMatcher.SyncNote(match, sync); // google Note should still be present and OutlookNote should be filled Assert.IsNotNull(match.GoogleNote); Assert.IsNotNull(match.OutlookNote); DeleteTestNotes(); // create new Note to sync outlookNote = Synchronizer.CreateOutlookNoteItem(Synchronizer.SyncNotesFolder); outlookNote.Body = body; outlookNote.Save(); // same test for delete google Note... googleNote = new Document(); googleNote.Type = Document.DocumentType.Document; sync.UpdateNote(outlookNote, googleNote); match = new NoteMatch(outlookNote, googleNote); //save Note to google. sync.SaveNote(match); for (int i = 0; match.AsyncUpdateCompleted.HasValue && !match.AsyncUpdateCompleted.Value && i < 10; i++) { Thread.Sleep(1000);//DoNothing, until the Async Update is complete, but only wait maximum 10 seconds } //load the same Note from google. sync.MatchNotes(); match = FindMatch(outlookNote); NotesMatcher.SyncNote(match, sync); // delete google Note //sync.DocumentsRequest.Delete(match.GoogleNote); DeleteTestNote(match.GoogleNote); match.GoogleNote = null; //load the same Note from google. sync.MatchNotes(); match = FindMatch(outlookNote); NotesMatcher.SyncNote(match, sync); Assert.IsNull(match.GoogleNote); // reset matches //Not, because null: sync.ResetMatch(match.GoogleNote); sync.ResetMatch(match.OutlookNote); // load same Note match sync.MatchNotes(); match = FindMatch(outlookNote); NotesMatcher.SyncNote(match, sync); // Outlook Note should still be present and GoogleNote should be filled Assert.IsNotNull(match.OutlookNote); Assert.IsNotNull(match.GoogleNote); System.IO.File.Delete(NotePropertiesUtils.GetFileName(outlookNote.EntryID, sync.SyncProfile)); outlookNote.Delete(); }