package database import ( "log/slog" "os" "gorm.io/gorm" ) // NewTestDatabase creates a Database wrapper around a pre-opened *gorm.DB. // Intended for use in tests that need a *database.Database without the // full fx lifecycle. The caller is responsible for closing the underlying // sql.DB connection. func NewTestDatabase(db *gorm.DB) *Database { return &Database{ db: db, log: slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{Level: slog.LevelDebug})), } } // NewTestWebhookDBManager creates a WebhookDBManager backed by the given // data directory. Intended for use in tests without the fx lifecycle. func NewTestWebhookDBManager(dataDir string) *WebhookDBManager { return &WebhookDBManager{ dataDir: dataDir, log: slog.New(slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{Level: slog.LevelDebug})), } }