fix(tests): add Notification model migrations to all handler tests using NotificationService

This commit is contained in:
GitHub Actions
2025-12-02 04:34:37 +00:00
parent d285014358
commit 62ae91d0c3
5 changed files with 14 additions and 14 deletions

View File

@@ -61,7 +61,7 @@ func TestCertificateHandler_List(t *testing.T) {
// Setup in-memory DB
db := OpenTestDB(t)
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}))
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}, &models.Notification{}, &models.NotificationProvider{}))
service := services.NewCertificateService(tmpDir, db)
ns := services.NewNotificationService(db)
@@ -86,7 +86,7 @@ func TestCertificateHandler_Upload(t *testing.T) {
// Setup
tmpDir := t.TempDir()
db := OpenTestDB(t)
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}))
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}, &models.Notification{}, &models.NotificationProvider{}))
service := services.NewCertificateService(tmpDir, db)
ns := services.NewNotificationService(db)
@@ -131,7 +131,7 @@ func TestCertificateHandler_Delete(t *testing.T) {
tmpDir := t.TempDir()
// Use WAL mode and busy timeout for better concurrency with race detector
db := OpenTestDB(t)
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}))
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}, &models.Notification{}, &models.NotificationProvider{}))
// Seed a cert
cert := models.SSLCertificate{
@@ -167,7 +167,7 @@ func TestCertificateHandler_Delete(t *testing.T) {
func TestCertificateHandler_Upload_Errors(t *testing.T) {
tmpDir := t.TempDir()
db := OpenTestDB(t)
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}))
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}, &models.Notification{}, &models.NotificationProvider{}))
service := services.NewCertificateService(tmpDir, db)
ns := services.NewNotificationService(db)
@@ -202,7 +202,7 @@ func TestCertificateHandler_Upload_Errors(t *testing.T) {
func TestCertificateHandler_Delete_NotFound(t *testing.T) {
tmpDir := t.TempDir()
db := OpenTestDB(t)
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}, &models.NotificationProvider{}))
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}, &models.Notification{}, &models.NotificationProvider{}))
service := services.NewCertificateService(tmpDir, db)
ns := services.NewNotificationService(db)
@@ -222,7 +222,7 @@ func TestCertificateHandler_Delete_NotFound(t *testing.T) {
func TestCertificateHandler_Delete_InvalidID(t *testing.T) {
tmpDir := t.TempDir()
db := OpenTestDB(t)
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}))
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}, &models.Notification{}, &models.NotificationProvider{}))
service := services.NewCertificateService(tmpDir, db)
ns := services.NewNotificationService(db)
@@ -241,7 +241,7 @@ func TestCertificateHandler_Delete_InvalidID(t *testing.T) {
func TestCertificateHandler_Upload_InvalidCertificate(t *testing.T) {
tmpDir := t.TempDir()
db := OpenTestDB(t)
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}))
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}, &models.Notification{}, &models.NotificationProvider{}))
service := services.NewCertificateService(tmpDir, db)
ns := services.NewNotificationService(db)
@@ -275,7 +275,7 @@ func TestCertificateHandler_Upload_InvalidCertificate(t *testing.T) {
func TestCertificateHandler_Upload_MissingKeyFile(t *testing.T) {
tmpDir := t.TempDir()
db := OpenTestDB(t)
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}))
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}, &models.Notification{}, &models.NotificationProvider{}))
service := services.NewCertificateService(tmpDir, db)
ns := services.NewNotificationService(db)
@@ -307,7 +307,7 @@ func TestCertificateHandler_Upload_MissingKeyFile(t *testing.T) {
func TestCertificateHandler_Upload_MissingName(t *testing.T) {
tmpDir := t.TempDir()
db := OpenTestDB(t)
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}))
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}, &models.Notification{}, &models.NotificationProvider{}))
service := services.NewCertificateService(tmpDir, db)
ns := services.NewNotificationService(db)
@@ -345,7 +345,7 @@ func TestCertificateHandler_List_WithCertificates(t *testing.T) {
require.NoError(t, os.MkdirAll(caddyDir, 0755))
db := OpenTestDB(t)
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}))
require.NoError(t, db.AutoMigrate(&models.SSLCertificate{}, &models.Notification{}, &models.NotificationProvider{}))
// Seed a certificate in DB
cert := models.SSLCertificate{

View File

@@ -22,7 +22,7 @@ func setupDomainTestRouter(t *testing.T) (*gin.Engine, *gorm.DB) {
dsn := "file:" + t.Name() + "?mode=memory&cache=shared"
db, err := gorm.Open(sqlite.Open(dsn), &gorm.Config{})
require.NoError(t, err)
require.NoError(t, db.AutoMigrate(&models.Domain{}))
require.NoError(t, db.AutoMigrate(&models.Domain{}, &models.Notification{}, &models.NotificationProvider{}))
ns := services.NewNotificationService(db)
h := NewDomainHandler(db, ns)

View File

@@ -25,7 +25,7 @@ func setupNotificationTestDB() *gorm.DB {
if err != nil {
panic("failed to connect to test database")
}
db.AutoMigrate(&models.Notification{})
db.AutoMigrate(&models.Notification{}, &models.NotificationProvider{})
return db
}

View File

@@ -20,7 +20,7 @@ import (
func setupNotificationProviderTest(t *testing.T) (*gin.Engine, *gorm.DB) {
t.Helper()
db := handlers.OpenTestDB(t)
require.NoError(t, db.AutoMigrate(&models.NotificationProvider{}))
require.NoError(t, db.AutoMigrate(&models.NotificationProvider{}, &models.Notification{}))
service := services.NewNotificationService(db)
handler := handlers.NewNotificationProviderHandler(service)

View File

@@ -20,7 +20,7 @@ func TestNotificationTemplateHandler_CRUDAndPreview(t *testing.T) {
t.Helper()
db, err := gorm.Open(sqlite.Open("file::memory:?mode=memory&cache=shared"), &gorm.Config{})
require.NoError(t, err)
require.NoError(t, db.AutoMigrate(&models.NotificationTemplate{}))
require.NoError(t, db.AutoMigrate(&models.NotificationTemplate{}, &models.Notification{}, &models.NotificationProvider{}))
svc := services.NewNotificationService(db)
h := NewNotificationTemplateHandler(svc)