package storage import ( "context" "database/sql" "path/filepath" "strings" "testing" "time" "provenance/internal/domain" ) func TestCommentMigration(t *testing.T) { path := filepath.Join(t.TempDir(), "index.db") conn, err := sql.Open(sqliteDriver, path) if err != nil { t.Fatal(err) } legacy := strings.SplitN(schema, "CREATE INDEX", 2)[0] legacy = strings.Replace(legacy, " comment TEXT NOT NULL DEFAULT '',\n", "", 1) legacy = strings.Replace(legacy, " source TEXT NOT NULL DEFAULT 'computer.ngp.provenance.vouch',\n", "", 1) if _, err := conn.Exec(legacy); err != nil { t.Fatal(err) } if _, err := conn.Exec("INSERT INTO participants(did) VALUES ('did:plc:a'); INSERT INTO vouches(author,subject,tag,score,created_at,record_key) VALUES ('did:plc:a','did:plc:b','',2,'',?); PRAGMA user_version=2", domain.RecordKey("did:plc:b", "")); err != nil { t.Fatal(err) } conn.Close() s, err := Open(path) if err != nil { t.Fatal(err) } ctx := context.Background() graph, err := s.Graph(ctx, "", domain.Default, 10) if err != nil || len(graph) != 1 || graph[0].Comment != "" { t.Fatalf("migration: %+v %v", graph, err) } v := graph[0] v.Comment = "Reference text.\n日本語