package utils import ( "licserver/internal/model" "testing" "github.com/stretchr/testify/assert" "gorm.io/driver/sqlite" "gorm.io/gorm" ) // TestDB 创建测试数据库连接 func TestDB(t *testing.T) *gorm.DB { db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{}) assert.NoError(t, err) // 迁移测试表 err = db.AutoMigrate( &model.User{}, &model.Device{}, &model.DeviceModel{}, &model.LicenseCode{}, &model.LicenseLog{}, &model.AccessToken{}, &model.TokenLog{}, &model.Captcha{}, &model.PasswordResetToken{}, &model.FileUpload{}, &model.UploadChunk{}, ) assert.NoError(t, err) return db } // TestConfig 创建测试配置 func TestConfig() *Config { return &Config{ Server: struct { Port string `yaml:"port"` Mode string `yaml:"mode"` }{ Port: "8080", Mode: "test", }, Database: DatabaseConfig{ Path: ":memory:", }, JWT: JWTConfig{ Secret: "test-secret", Expire: "24h", }, Security: SecurityConfig{ EncryptKey: "test-32-byte-encrypt-key-here1234567", }, } }