Files
ginimageApi/configs/db_test.go
Beyhan Oğur e04ba85564 first commit
2026-04-26 21:40:14 +03:00

52 lines
1.1 KiB
Go

package configs
import (
"testing"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
func TestRunAutoMigrateRequiresDB(t *testing.T) {
prev := DB
DB = nil
t.Cleanup(func() { DB = prev })
if err := RunAutoMigrate(); err == nil {
t.Fatalf("expected error when DB is nil")
}
}
func TestRunAutoMigrateSuccess(t *testing.T) {
prev := DB
dsn := "file:" + t.Name() + "?mode=memory&cache=shared"
db, err := gorm.Open(sqlite.Open(dsn), &gorm.Config{})
if err != nil {
t.Fatalf("sqlite open failed: %v", err)
}
DB = db
t.Cleanup(func() {
if sqlDB, err := db.DB(); err == nil {
_ = sqlDB.Close()
}
DB = prev
})
if err := RunAutoMigrate(); err != nil {
t.Fatalf("RunAutoMigrate failed: %v", err)
}
if !DB.Migrator().HasTable("users") {
t.Fatalf("expected users table after migration")
}
if !DB.Migrator().HasTable("refresh_tokens") {
t.Fatalf("expected refresh_tokens table after migration")
}
}
func TestSeedSecurityDefaults(t *testing.T) {
if err := SeedSecurityDefaults(); err != nil {
t.Fatalf("SeedSecurityDefaults should not fail: %v", err)
}
}