MCPcopy Index your code
hub / github.com/dnote/dnote / TestFullSyncNote

Function TestFullSyncNote

pkg/cli/cmd/sync/sync_test.go:578–868  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

576}
577
578func TestFullSyncNote(t *testing.T) {
579 t.Run("exists on server only", func(t *testing.T) {
580 // set up
581 db := database.InitTestMemoryDB(t)
582
583 b1UUID := testutils.MustGenerateUUID(t)
584 database.MustExec(t, "inserting book", db, "INSERT INTO books (uuid, label) VALUES (?, ?)", b1UUID, "b1-label")
585
586 // execute
587 tx, err := db.Begin()
588 if err != nil {
589 t.Fatal(errors.Wrap(err, "beginning a transaction").Error())
590 }
591
592 n := client.SyncFragNote{
593 UUID: "n1-uuid",
594 BookUUID: b1UUID,
595 USN: 128,
596 AddedOn: 1541232118,
597 EditedOn: 1541219321,
598 Body: "n1-body",
599 Deleted: false,
600 }
601
602 if err := fullSyncNote(tx, n); err != nil {
603 tx.Rollback()
604 t.Fatal(errors.Wrap(err, "executing").Error())
605 }
606
607 tx.Commit()
608
609 // test
610 var noteCount, bookCount int
611 database.MustScan(t, "counting notes", db.QueryRow("SELECT count(*) FROM notes"), &noteCount)
612 database.MustScan(t, "counting books", db.QueryRow("SELECT count(*) FROM books"), &bookCount)
613
614 assert.Equalf(t, noteCount, 1, "note count mismatch")
615 assert.Equalf(t, bookCount, 1, "book count mismatch")
616
617 var n1 database.Note
618 database.MustScan(t, "getting n1",
619 db.QueryRow("SELECT uuid, book_uuid, usn, added_on, edited_on, body, deleted, dirty FROM notes WHERE uuid = ?", n.UUID),
620 &n1.UUID, &n1.BookUUID, &n1.USN, &n1.AddedOn, &n1.EditedOn, &n1.Body, &n1.Deleted, &n1.Dirty)
621
622 assert.Equal(t, n1.UUID, n.UUID, "n1 UUID mismatch")
623 assert.Equal(t, n1.BookUUID, n.BookUUID, "n1 BookUUID mismatch")
624 assert.Equal(t, n1.USN, n.USN, "n1 USN mismatch")
625 assert.Equal(t, n1.AddedOn, n.AddedOn, "n1 AddedOn mismatch")
626 assert.Equal(t, n1.EditedOn, n.EditedOn, "n1 EditedOn mismatch")
627 assert.Equal(t, n1.Body, n.Body, "n1 Body mismatch")
628 assert.Equal(t, n1.Deleted, n.Deleted, "n1 Deleted mismatch")
629 assert.Equal(t, n1.Dirty, false, "n1 Dirty mismatch")
630 })
631
632 t.Run("exists on server and client", func(t *testing.T) {
633 b1UUID := testutils.MustGenerateUUID(t)
634 b2UUID := testutils.MustGenerateUUID(t)
635 conflictBookUUID := testutils.MustGenerateUUID(t)

Callers

nothing calls this directly

Calls 12

InitTestMemoryDBFunction · 0.92
MustGenerateUUIDFunction · 0.92
MustExecFunction · 0.92
MustScanFunction · 0.92
EqualfFunction · 0.92
EqualFunction · 0.92
fullSyncNoteFunction · 0.85
BeginMethod · 0.65
RollbackMethod · 0.65
CommitMethod · 0.65
QueryRowMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected