Exemplo n.º 1
0
        public void TestSyncGroups()
        {
            Outlook.NoteItem outlookNote;
            NoteMatch        match;

            CreateOutlookNoteAndSyncToGoogle(out outlookNote, out match);

            // delete outlook note
            outlookNote.Delete();
            outlookNote = Synchronizer.CreateOutlookNoteItem(Synchronizer.SyncNotesFolder);
            sync.UpdateNote(match.GoogleNote, outlookNote);
            match = new NoteMatch(outlookNote, match.GoogleNote);
            outlookNote.Save();

            sync.SyncOption = SyncOption.MergeGoogleWins;

            //sync and save contact to outlook
            sync.UpdateNote(match.GoogleNote, outlookNote);
            sync.SaveNote(match);

            //load the same contact from outlook
            sync.MatchNotes();
            match = FindMatch(outlookNote);

            Assert.AreEqual(groupName, outlookNote.Categories);

            DeleteTestNotes(match);

            //Delete empty Google note folders
            sync.CleanUpGoogleCategories();
        }
Exemplo n.º 2
0
 private void DeleteTestNotes(NoteMatch match)
 {
     if (match != null)
     {
         DeleteTestNote(match.GoogleNote);
         DeleteTestNote(match.OutlookNote);
     }
 }
Exemplo n.º 3
0
        private void CreateOutlookNoteAndSyncToGoogle(out Outlook.NoteItem outlookNote, out NoteMatch match)
        {
            //ToDo: Check for eache SyncOption and SyncDelete combination
            sync.SyncOption = SyncOption.MergeOutlookWins;
            sync.SyncDelete = true;

            // create new contact to sync
            // create new note to sync
            outlookNote            = Synchronizer.CreateOutlookNoteItem(Synchronizer.SyncNotesFolder);
            outlookNote.Body       = body;
            outlookNote.Categories = groupName;
            outlookNote.Save();

            //Outlook note should now have a group
            Assert.AreEqual(groupName, outlookNote.Categories);

            Document googleNote = new Document();

            googleNote.Type = Document.DocumentType.Document;
            sync.UpdateNote(outlookNote, googleNote);
            match = new NoteMatch(outlookNote, googleNote);

            //save Notes
            sync.SaveNote(match);

            for (int i = 0; match.AsyncUpdateCompleted.HasValue && !match.AsyncUpdateCompleted.Value && i < 100; 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);

            // google contact should now have the same group
            Assert.IsNotNull(match.GoogleNote.ParentFolders);
            //Assert.Greater(match.GoogleNote.ParentFolders.Count, 0);
            Assert.AreEqual(2, match.GoogleNote.ParentFolders.Count);   //2 because Notes folder and the category folder

            Document categoryFolder = null;

            foreach (string uri in match.GoogleNote.ParentFolders)
            {
                Document folder = sync.GetGoogleFolder(null, null, uri);
                if (folder.Title == groupName)
                {
                    categoryFolder = folder;
                    break;
                }
            }
            Assert.IsNotNull(categoryFolder);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        public void TestSync()
        {
            // create new note to sync
            Outlook.NoteItem outlookNote = Synchronizer.CreateOutlookNoteItem(Synchronizer.SyncNotesFolder);
            //outlookNote.Subject = name;
            outlookNote.Body = body;

            outlookNote.Save();

            sync.SyncOption = SyncOption.OutlookToGoogleOnly;

            Document googleNote = new Document();

            googleNote.Type = Document.DocumentType.Document;
            sync.UpdateNote(outlookNote, googleNote);
            NoteMatch match = new NoteMatch(outlookNote, googleNote);

            //save Note to google.
            sync.SaveGoogleNote(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
            }
            googleNote = null;

            sync.SyncOption = SyncOption.GoogleToOutlookOnly;
            //load the same Note from google.
            sync.MatchNotes();
            match = FindMatch(match.GoogleNote);
            //NotesMatcher.SyncNote(match, sync);

            Outlook.NoteItem recreatedOutlookNote = Synchronizer.CreateOutlookNoteItem(Synchronizer.SyncNotesFolder);
            sync.UpdateNote(match.GoogleNote, recreatedOutlookNote);

            // match recreatedOutlookNote with outlookNote
            //Assert.AreEqual(outlookNote.Subject, recreatedOutlookNote.Subject);
            Assert.AreEqual(outlookNote.Body, recreatedOutlookNote.Body);

            DeleteTestNotes(match);
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
        public void TestSyncDeletedGoogle()
        {
            //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 < 100; i++)
            {
                Thread.Sleep(1000);//DoNothing, until the Async Update is complete, but only wait maximum 10 seconds
            }
            Document deletedNote = sync.LoadGoogleNotes(null, match.GoogleNote.DocumentEntry.Id);

            Assert.IsNotNull(deletedNote);
            AtomId deletedNoteAtomId = deletedNote.DocumentEntry.Id;
            string deletedNoteId     = deletedNote.Id;

            Assert.IsTrue(File.Exists(NotePropertiesUtils.GetFileName(deletedNoteId, sync.SyncProfile)));

            // delete google Note
            sync.DocumentsRequest.Delete(new Uri(Google.GData.Documents.DocumentsListQuery.documentsBaseUri + "/" + deletedNote.ResourceId), deletedNote.ETag);

            // sync
            sync.MatchNotes();
            match = FindMatch(outlookNote);
            NotesMatcher.SyncNote(match, sync);

            string id = outlookNote.EntryID;

            // delete
            sync.SaveNote(match);

            // sync
            sync.MatchNotes();
            NotesMatcher.SyncNotes(sync);
            match = FindMatch(id);

            // check if outlook Note still exists
            Assert.IsNull(match);

            deletedNote = sync.LoadGoogleNotes(null, deletedNoteAtomId);
            Assert.IsNull(deletedNote);

            Assert.IsFalse(File.Exists(NotePropertiesUtils.GetFileName(deletedNoteId, sync.SyncProfile)));
            Assert.IsFalse(File.Exists(NotePropertiesUtils.GetFileName(id, sync.SyncProfile)));

            DeleteTestNotes(match);
        }
Exemplo n.º 8
0
 private void DeleteTestNotes(NoteMatch match)
 {
     if (match != null)
     {
         DeleteTestNote(match.GoogleNote);
         DeleteTestNote(match.OutlookNote);
     }
 }
Exemplo n.º 9
0
        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();
        }
Exemplo n.º 10
0
        private void CreateOutlookNoteAndSyncToGoogle(out Outlook.NoteItem outlookNote, out NoteMatch match)
        {
            //ToDo: Check for eache SyncOption and SyncDelete combination
            sync.SyncOption = SyncOption.MergeOutlookWins;
            sync.SyncDelete = true;

            // create new contact to sync
            // create new note to sync
            outlookNote = Synchronizer.CreateOutlookNoteItem(Synchronizer.SyncNotesFolder);
            outlookNote.Body = body;
            outlookNote.Categories = groupName;
            outlookNote.Save();

            //Outlook note should now have a group
            Assert.AreEqual(groupName, outlookNote.Categories);

            Document googleNote = new Document();
            googleNote.Type = Document.DocumentType.Document;
            sync.UpdateNote(outlookNote, googleNote);
            match = new NoteMatch(outlookNote, googleNote);

            //save Notes
            sync.SaveNote(match);

            for (int i = 0; match.AsyncUpdateCompleted.HasValue && !match.AsyncUpdateCompleted.Value && i < 100; 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);

            // google contact should now have the same group
            Assert.IsNotNull(match.GoogleNote.ParentFolders);
            //Assert.Greater(match.GoogleNote.ParentFolders.Count, 0);
            Assert.AreEqual(2, match.GoogleNote.ParentFolders.Count);   //2 because Notes folder and the category folder

            Document categoryFolder = null;
            foreach (string uri in match.GoogleNote.ParentFolders)
            {
                Document folder = sync.GetGoogleFolder(null, null, uri);
                if (folder.Title == groupName)
                {
                    categoryFolder = folder;
                    break;
                }
            }
            Assert.IsNotNull(categoryFolder);
        }
Exemplo n.º 11
0
        public void TestSyncGroups()
        {
            Outlook.NoteItem outlookNote;
            NoteMatch match;

            CreateOutlookNoteAndSyncToGoogle(out outlookNote, out match);

            // delete outlook note
            outlookNote.Delete();
            outlookNote = Synchronizer.CreateOutlookNoteItem(Synchronizer.SyncNotesFolder);
            sync.UpdateNote(match.GoogleNote, outlookNote);
            match = new NoteMatch(outlookNote, match.GoogleNote);
            outlookNote.Save();

            sync.SyncOption = SyncOption.MergeGoogleWins;

            //sync and save contact to outlook
            sync.UpdateNote(match.GoogleNote, outlookNote);
            sync.SaveNote(match);

            //load the same contact from outlook
            sync.MatchNotes();
            match = FindMatch(outlookNote);

            Assert.AreEqual(groupName, outlookNote.Categories);

            DeleteTestNotes(match);

            //Delete empty Google note folders
            sync.CleanUpGoogleCategories();
        }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
        public void TestSyncDeletedGoogle()
        {
            //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 < 100; i++)
                Thread.Sleep(1000);//DoNothing, until the Async Update is complete, but only wait maximum 10 seconds

            Document deletedNote = sync.LoadGoogleNotes(null, match.GoogleNote.DocumentEntry.Id);
            Assert.IsNotNull(deletedNote);
            AtomId deletedNoteAtomId = deletedNote.DocumentEntry.Id;
            string deletedNoteId = deletedNote.Id;

            Assert.IsTrue(File.Exists(NotePropertiesUtils.GetFileName(deletedNoteId, sync.SyncProfile)));

            // delete google Note
            sync.DocumentsRequest.Delete(new Uri(Google.GData.Documents.DocumentsListQuery.documentsBaseUri + "/" + deletedNote.ResourceId), deletedNote.ETag);

            // sync
            sync.MatchNotes();
            match = FindMatch(outlookNote);
            NotesMatcher.SyncNote(match, sync);

            string id = outlookNote.EntryID;

            // delete
            sync.SaveNote(match);

            // sync
            sync.MatchNotes();
            NotesMatcher.SyncNotes(sync);
            match = FindMatch(id);

            // check if outlook Note still exists
            Assert.IsNull(match);

            deletedNote = sync.LoadGoogleNotes(null, deletedNoteAtomId);
            Assert.IsNull(deletedNote);

            Assert.IsFalse(File.Exists(NotePropertiesUtils.GetFileName(deletedNoteId, sync.SyncProfile)));
            Assert.IsFalse(File.Exists(NotePropertiesUtils.GetFileName(id, sync.SyncProfile)));

            DeleteTestNotes(match);
        }
Exemplo n.º 14
0
        public void TestSync()
        {
            // create new note to sync
            Outlook.NoteItem outlookNote = Synchronizer.CreateOutlookNoteItem(Synchronizer.SyncNotesFolder);
            //outlookNote.Subject = name;
            outlookNote.Body = body;

            outlookNote.Save();

            sync.SyncOption = SyncOption.OutlookToGoogleOnly;

            Document googleNote = new Document();
            googleNote.Type = Document.DocumentType.Document;
            sync.UpdateNote(outlookNote, googleNote);
            NoteMatch match = new NoteMatch(outlookNote, googleNote);

            //save Note to google.
            sync.SaveGoogleNote(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

            googleNote = null;

            sync.SyncOption = SyncOption.GoogleToOutlookOnly;
            //load the same Note from google.
            sync.MatchNotes();
            match = FindMatch(match.GoogleNote);
            //NotesMatcher.SyncNote(match, sync);

            Outlook.NoteItem recreatedOutlookNote = Synchronizer.CreateOutlookNoteItem(Synchronizer.SyncNotesFolder);
            sync.UpdateNote(match.GoogleNote, recreatedOutlookNote);

            // match recreatedOutlookNote with outlookNote
            //Assert.AreEqual(outlookNote.Subject, recreatedOutlookNote.Subject);
            Assert.AreEqual(outlookNote.Body, recreatedOutlookNote.Body);

            DeleteTestNotes(match);
        }