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

Function TestLocalMigration10

pkg/cli/migrate/migrate_test.go:876–943  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

874}
875
876func TestLocalMigration10(t *testing.T) {
877 // set up
878 db := database.InitTestMemoryDBRaw(t, "./fixtures/local-10-pre-schema.sql")
879 ctx := context.InitTestCtxWithDB(t, db)
880
881 b1UUID := testutils.MustGenerateUUID(t)
882 database.MustExec(t, "inserting book ", db, "INSERT INTO books (uuid, label) VALUES (?, ?)", b1UUID, "123")
883 b2UUID := testutils.MustGenerateUUID(t)
884 database.MustExec(t, "inserting book 2", db, "INSERT INTO books (uuid, label) VALUES (?, ?)", b2UUID, "123 javascript")
885 b3UUID := testutils.MustGenerateUUID(t)
886 database.MustExec(t, "inserting book 3", db, "INSERT INTO books (uuid, label) VALUES (?, ?)", b3UUID, "foo")
887 b4UUID := testutils.MustGenerateUUID(t)
888 database.MustExec(t, "inserting book 4", db, "INSERT INTO books (uuid, label) VALUES (?, ?)", b4UUID, "+123")
889 b5UUID := testutils.MustGenerateUUID(t)
890 database.MustExec(t, "inserting book 5", db, "INSERT INTO books (uuid, label) VALUES (?, ?)", b5UUID, "0123")
891 b6UUID := testutils.MustGenerateUUID(t)
892 database.MustExec(t, "inserting book 6", db, "INSERT INTO books (uuid, label) VALUES (?, ?)", b6UUID, "javascript 123")
893 b7UUID := testutils.MustGenerateUUID(t)
894 database.MustExec(t, "inserting book 7", db, "INSERT INTO books (uuid, label) VALUES (?, ?)", b7UUID, "123 (1)")
895 b8UUID := testutils.MustGenerateUUID(t)
896 database.MustExec(t, "inserting book 8", db, "INSERT INTO books (uuid, label) VALUES (?, ?)", b8UUID, "5")
897
898 // Execute
899 tx, err := db.Begin()
900 if err != nil {
901 t.Fatal(errors.Wrap(err, "beginning a transaction"))
902 }
903
904 err = lm10.run(ctx, tx)
905 if err != nil {
906 tx.Rollback()
907 t.Fatal(errors.Wrap(err, "failed to run"))
908 }
909
910 tx.Commit()
911
912 // Test
913
914 // assert that note_fts was populated with correct values
915 var b1Label, b2Label, b3Label, b4Label, b5Label, b6Label, b7Label, b8Label string
916 var b1Dirty, b2Dirty, b3Dirty, b4Dirty, b5Dirty, b6Dirty, b7Dirty, b8Dirty bool
917
918 database.MustScan(t, "getting b1", db.QueryRow("SELECT label, dirty FROM books WHERE uuid = ?", b1UUID), &b1Label, &b1Dirty)
919 database.MustScan(t, "getting b2", db.QueryRow("SELECT label, dirty FROM books WHERE uuid = ?", b2UUID), &b2Label, &b2Dirty)
920 database.MustScan(t, "getting b3", db.QueryRow("SELECT label, dirty FROM books WHERE uuid = ?", b3UUID), &b3Label, &b3Dirty)
921 database.MustScan(t, "getting b4", db.QueryRow("SELECT label, dirty FROM books WHERE uuid = ?", b4UUID), &b4Label, &b4Dirty)
922 database.MustScan(t, "getting b5", db.QueryRow("SELECT label, dirty FROM books WHERE uuid = ?", b5UUID), &b5Label, &b5Dirty)
923 database.MustScan(t, "getting b6", db.QueryRow("SELECT label, dirty FROM books WHERE uuid = ?", b6UUID), &b6Label, &b6Dirty)
924 database.MustScan(t, "getting b7", db.QueryRow("SELECT label, dirty FROM books WHERE uuid = ?", b7UUID), &b7Label, &b7Dirty)
925 database.MustScan(t, "getting b8", db.QueryRow("SELECT label, dirty FROM books WHERE uuid = ?", b8UUID), &b8Label, &b8Dirty)
926
927 assert.Equal(t, b1Label, "123 (2)", "b1Label mismatch")
928 assert.Equal(t, b1Dirty, true, "b1Dirty mismatch")
929 assert.Equal(t, b2Label, "123 javascript", "b2Label mismatch")
930 assert.Equal(t, b2Dirty, false, "b2Dirty mismatch")
931 assert.Equal(t, b3Label, "foo", "b3Label mismatch")
932 assert.Equal(t, b3Dirty, false, "b3Dirty mismatch")
933 assert.Equal(t, b4Label, "+123", "b4Label mismatch")

Callers

nothing calls this directly

Calls 10

InitTestMemoryDBRawFunction · 0.92
InitTestCtxWithDBFunction · 0.92
MustGenerateUUIDFunction · 0.92
MustExecFunction · 0.92
MustScanFunction · 0.92
EqualFunction · 0.92
BeginMethod · 0.65
RollbackMethod · 0.65
CommitMethod · 0.65
QueryRowMethod · 0.65

Tested by

no test coverage detected