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

Function TestFullSync

pkg/e2e/sync/basic_test.go:3508–3608  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

3506}
3507
3508func TestFullSync(t *testing.T) {
3509 t.Run("consecutively with stepSync", func(t *testing.T) {
3510 setup := func(t *testing.T, env testEnv, user database.User) map[string]string {
3511 jsBookUUID := apiCreateBook(t, env, user, "js", "adding a js book")
3512 jsNote1UUID := apiCreateNote(t, env, user, jsBookUUID, "js1", "adding js note 1")
3513
3514 clitest.RunDnoteCmd(t, env.CmdOpts, cliBinaryName, "add", "css", "-c", "css1")
3515
3516 return map[string]string{
3517 "jsBookUUID": jsBookUUID,
3518 "jsNote1UUID": jsNote1UUID,
3519 }
3520 }
3521
3522 assert := func(t *testing.T, env testEnv, user database.User, ids map[string]string) {
3523 cliDB := env.DB
3524 apiDB := env.ServerDB
3525
3526 checkState(t, env.DB, user, env.ServerDB, systemState{
3527 clientNoteCount: 2,
3528 clientBookCount: 2,
3529 clientLastMaxUSN: 4,
3530 clientLastSyncAt: serverTime.Unix(),
3531 serverNoteCount: 2,
3532 serverBookCount: 2,
3533 serverUserMaxUSN: 4,
3534 })
3535
3536 // test client
3537 var cliNote1JS, cliNote1CSS cliDatabase.Note
3538 var cliBookJS, cliBookCSS cliDatabase.Book
3539 cliDatabase.MustScan(t, "finding cliNote1JS", cliDB.QueryRow("SELECT uuid, body, usn FROM notes WHERE body = ?", "js1"), &cliNote1JS.UUID, &cliNote1JS.Body, &cliNote1JS.USN)
3540 cliDatabase.MustScan(t, "finding cliNote1CSS", cliDB.QueryRow("SELECT uuid, body, usn FROM notes WHERE body = ?", "css1"), &cliNote1CSS.UUID, &cliNote1CSS.Body, &cliNote1CSS.USN)
3541 cliDatabase.MustScan(t, "finding cliBookJS", cliDB.QueryRow("SELECT uuid, label, usn FROM books WHERE label = ?", "js"), &cliBookJS.UUID, &cliBookJS.Label, &cliBookJS.USN)
3542 cliDatabase.MustScan(t, "finding cliBookCSS", cliDB.QueryRow("SELECT uuid, label, usn FROM books WHERE label = ?", "css"), &cliBookCSS.UUID, &cliBookCSS.Label, &cliBookCSS.USN)
3543
3544 // test usn
3545 assert.NotEqual(t, cliNote1JS.USN, 0, "cliNote1JS USN mismatch")
3546 assert.NotEqual(t, cliNote1CSS.USN, 0, "cliNote1CSS USN mismatch")
3547 assert.NotEqual(t, cliBookJS.USN, 0, "cliBookJS USN mismatch")
3548 assert.NotEqual(t, cliBookCSS.USN, 0, "cliBookCSS USN mismatch")
3549 // assert on bodys and labels
3550 assert.Equal(t, cliNote1JS.Body, "js1", "cliNote1JS Body mismatch")
3551 assert.Equal(t, cliNote1CSS.Body, "css1", "cliNote1CSS Body mismatch")
3552 assert.Equal(t, cliBookJS.Label, "js", "cliBookJS Label mismatch")
3553 assert.Equal(t, cliBookCSS.Label, "css", "cliBookCSS Label mismatch")
3554 // assert on deleted
3555 assert.Equal(t, cliNote1JS.Deleted, false, "cliNote1JS Deleted mismatch")
3556 assert.Equal(t, cliNote1CSS.Deleted, false, "cliNote1CSS Deleted mismatch")
3557 assert.Equal(t, cliBookJS.Deleted, false, "cliBookJS Deleted mismatch")
3558 assert.Equal(t, cliBookCSS.Deleted, false, "cliBookCSS Deleted mismatch")
3559
3560 // test server
3561 var apiNote1JS, apiNote1CSS database.Note
3562 apitest.MustExec(t, apiDB.Where("user_id = ? AND uuid = ?", user.ID, ids["jsNote1UUID"]).First(&apiNote1JS), "finding api js note 1")
3563 apitest.MustExec(t, apiDB.Where("user_id = ? AND uuid = ?", user.ID, cliNote1CSS.UUID).First(&apiNote1CSS), "finding api css note 1")
3564 var apiBookJS, apiBookCSS database.Book
3565 apitest.MustExec(t, apiDB.Where("user_id = ? AND uuid = ?", user.ID, ids["jsBookUUID"]).First(&apiBookJS), "finding api js book")

Callers

nothing calls this directly

Calls 8

NotEqualFunction · 0.92
EqualFunction · 0.92
apiCreateBookFunction · 0.85
apiCreateNoteFunction · 0.85
checkStateFunction · 0.85
setupUserAndLoginFunction · 0.85
setupTestEnvFunction · 0.70
QueryRowMethod · 0.65

Tested by

no test coverage detected