Exemplo n.º 1
0
        partial void SyncNotes(NSObject sender)
        {
            var          dest_manifest_path = Path.Combine(settings.syncURL, "manifest.xml");
            SyncManifest dest_manifest;

            if (!File.Exists(dest_manifest_path))
            {
                using (var output = new FileStream(dest_manifest_path, FileMode.Create)) {
                    SyncManifest.Write(new SyncManifest(), output);
                }
            }
            using (var input = new FileStream(dest_manifest_path, FileMode.Open)) {
                dest_manifest = SyncManifest.Read(input);
            }
            var dest_storage = new DiskStorage(settings.syncURL);
            var dest_engine  = new Engine(dest_storage);

            var client       = new FilesystemSyncClient(NoteEngine, manifestTracker.Manifest);
            var server       = new FilesystemSyncServer(dest_engine, dest_manifest);
            var sync_manager = new SyncManager(client, server);

            sync_manager.DoSync();
            RefreshNotesWindowController();
            // write back the dest manifest
            using (var output = new FileStream(dest_manifest_path, FileMode.Create)) {
                SyncManifest.Write(dest_manifest, output);
            }
        }
Exemplo n.º 2
0
        public void RetrieveAnArchivedVersionOfANote()
        {
            FirstSyncForBothSides();

            Tomboy.Note first_note     = clientEngineOne.GetNotes().Values.First();
            DTONote     first_note_dto = first_note.ToDTONote();

            var new_title = "Some other title";
            var old_title = first_note_dto.Title;
            var new_text  = "Some new text";
            var old_text  = first_note_dto.Text;

            first_note.Title = new_title;
            first_note.Text  = new_text;

            clientEngineOne.SaveNote(first_note);

            var sync_manager = new SyncManager(syncClientOne, syncServer);

            sync_manager.DoSync();

            var client = testServer.GetJsonClient();
            var url    = GetNoteHistoryUrl(first_note.Guid);
            var resp   = client.Get <NoteHistoryResponse> (url);

            var rev = resp.Versions[0].Revision;

            url = GetArchivedNoteUrl(first_note.Guid, rev);
            var note = client.Get <DTONote> (url);

            Assert.AreEqual(old_text, note.Text);
            Assert.AreEqual(old_title, note.Title);
            Assert.AreEqual(first_note_dto.Tags, note.Tags);
        }
Exemplo n.º 3
0
        public void NoteArchiveDoesHonorTheIncludeTextParameter()
        {
            FirstSyncForBothSides();

            Tomboy.Note first_note = clientEngineOne.GetNotes().Values.First();
            first_note.Title = "different";
            clientEngineOne.SaveNote(first_note);

            var sync_manager = new SyncManager(syncClientOne, syncServer);

            sync_manager.DoSync();

            var client = testServer.GetJsonClient();
            var url    = GetNoteHistoryUrl(first_note.Guid);
            var resp   = client.Get <NoteHistoryResponse> (url + "?include_text=false");

            foreach (var archived_note in resp.Versions)
            {
                Assert.AreEqual("", archived_note.Note.Text);
            }

            resp = client.Get <NoteHistoryResponse> (url + "?include_text=true");
            foreach (var archived_note in resp.Versions)
            {
                Assert.AreNotEqual("", archived_note.Note.Text);
            }
        }
Exemplo n.º 4
0
        public void NoteHistoryIsPresentWithOneNoteAfterChange()
        {
            FirstSyncForBothSides();

            var first_note = clientEngineOne.GetNotes().Values.First();
            var new_title  = "Some other title";
            var old_title  = first_note.Title;

            first_note.Title = new_title;
            clientEngineOne.SaveNote(first_note);

            var sync_manager = new SyncManager(syncClientOne, syncServer);

            sync_manager.DoSync();

            var client = testServer.GetJsonClient();
            var url    = GetNoteHistoryUrl(first_note.Guid);
            var resp   = client.Get <NoteHistoryResponse> (url);

            Assert.AreEqual(1, resp.Versions.Length);
            Assert.AreEqual(1, resp.Versions[0].Revision);
            Assert.AreEqual(old_title, resp.Versions[0].Note.Title);
        }
Exemplo n.º 5
0
        public void DeletedNoteShowsUpInNoteArchive()
        {
            FirstSyncForBothSides();

            // now, lets delete a note from the client
            var deleted_note = clientEngineOne.GetNotes().First().Value;

            clientEngineOne.DeleteNote(deleted_note);
            clientManifestOne.NoteDeletions.Add(deleted_note.Guid, deleted_note.Title);

            var sync_manager = new SyncManager(syncClientOne, syncServer);

            sync_manager.DoSync();

            var client = testServer.GetJsonClient();
            var url    = testServer.ListenUrl + new GetNoteArchiveRequest()
            {
                Username = RainyTestServer.TEST_USER
            }.ToUrl("GET");
            var resp = client.Get <NoteArchiveResponse> (url);

            Assert.That(resp.Guids.Contains(deleted_note.Guid));
        }
Exemplo n.º 6
0
        public void NoteArchiveContainsNoteDataButNoText()
        {
            FirstSyncForBothSides();

            // now, lets delete a note from the client
            var first_note = clientEngineOne.GetNotes().First().Value;

            first_note.Title = "different";
            clientEngineOne.SaveNote(first_note);

            var sync_manager = new SyncManager(syncClientOne, syncServer);

            sync_manager.DoSync();

            var client = testServer.GetJsonClient();
            var url    = testServer.ListenUrl + new GetNoteArchiveRequest()
            {
                Username = RainyTestServer.TEST_USER
            }.ToUrl("GET");
            var resp = client.Get <NoteArchiveResponse> (url);

            Assert.AreEqual("", resp.Notes[0].Text);
        }