package db import ( "database/sql" "testing" "github.com/navidrome/navidrome/log" "github.com/navidrome/navidrome/tests" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" ) func TestDB(t *testing.T) { tests.Init(t, false) log.SetLevel(log.LevelFatal) RegisterFailHandler(Fail) RunSpecs(t, "DB Suite") } var _ = Describe("isSchemaEmpty", func() { var db *sql.DB BeforeEach(func() { path := "file::memory:" db, _ = sql.Open(Driver, path) }) It("returns false if the goose metadata table is found", func() { _, err := db.Exec("create table goose_db_version (id primary key);") Expect(err).ToNot(HaveOccurred()) Expect(isSchemaEmpty(db)).To(BeFalse()) }) It("returns true if the schema is brand new", func() { Expect(isSchemaEmpty(db)).To(BeTrue()) }) })