photoprism/internal/auth/session/session_test.go
2025-12-01 17:16:33 +10:00

49 lines
1.1 KiB
Go

package session
import (
"os"
"testing"
"time"
"github.com/sirupsen/logrus"
"github.com/photoprism/photoprism/internal/config"
"github.com/photoprism/photoprism/internal/event"
"github.com/photoprism/photoprism/internal/testextras"
"github.com/photoprism/photoprism/pkg/dsn"
"github.com/photoprism/photoprism/pkg/fs"
)
func TestMain(m *testing.M) {
log = logrus.StandardLogger()
log.SetLevel(logrus.TraceLevel)
event.AuditLog = log
caller := "internal/auth/session/session_test.go/TestMain"
dbc, dbn, err := testextras.AcquireDBMutex(log, caller)
if err != nil {
log.Error("FAIL")
os.Exit(1)
}
defer testextras.UnlockDBMutex(dbc.Db())
_, dsname := dsn.PhotoPrismTestToDriverDSN(dbn)
dsn.SetDSNToEnv(dsname)
c := config.TestConfig()
beforeTimestamp := time.Now().UTC()
code := m.Run()
code = testextras.ValidateDBErrors(c.Db(), log, beforeTimestamp, code)
testextras.ReleaseDBMutex(dbc.Db(), log, caller, code)
// Remove temporary SQLite files after running the tests.
if err := c.CloseDb(); err != nil {
log.Errorf("close db: %v", err)
}
fs.PurgeTestDbFiles(".", false)
os.Exit(code)
}