Compare commits

..

3 Commits

3 changed files with 48 additions and 29 deletions

View File

@@ -81,7 +81,7 @@ func TestUser_Model(t *testing.T) {
db := newTestDB(t) db := newTestDB(t)
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()
@@ -195,7 +195,7 @@ func TestPost_Model(t *testing.T) {
db := newTestDB(t) db := newTestDB(t)
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()
@@ -305,7 +305,7 @@ func TestVote_Model(t *testing.T) {
db := newTestDB(t) db := newTestDB(t)
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()
@@ -424,7 +424,7 @@ func TestRefreshToken_Model(t *testing.T) {
db := newTestDB(t) db := newTestDB(t)
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()
@@ -483,7 +483,7 @@ func TestAccountDeletionRequest_Model(t *testing.T) {
db := newTestDB(t) db := newTestDB(t)
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()
@@ -554,7 +554,7 @@ func TestModel_SoftDelete(t *testing.T) {
db := newTestDB(t) db := newTestDB(t)
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()

View File

@@ -27,24 +27,47 @@ func (g *GormDBMonitor) Name() string {
} }
func (g *GormDBMonitor) Initialize(db *gorm.DB) error { func (g *GormDBMonitor) Initialize(db *gorm.DB) error {
if err := db.Callback().Create().Before("gorm:create").Register("db_monitor:before_create", g.beforeCreate); err != nil {
return err
}
if err := db.Callback().Create().After("gorm:create").Register("db_monitor:after_create", g.afterCreate); err != nil {
return err
}
db.Callback().Create().Before("gorm:create").Register("db_monitor:before_create", g.beforeCreate) if err := db.Callback().Query().Before("gorm:query").Register("db_monitor:before_query", g.beforeQuery); err != nil {
db.Callback().Create().After("gorm:create").Register("db_monitor:after_create", g.afterCreate) return err
}
if err := db.Callback().Query().After("gorm:query").Register("db_monitor:after_query", g.afterQuery); err != nil {
return err
}
db.Callback().Query().Before("gorm:query").Register("db_monitor:before_query", g.beforeQuery) if err := db.Callback().Update().Before("gorm:update").Register("db_monitor:before_update", g.beforeUpdate); err != nil {
db.Callback().Query().After("gorm:query").Register("db_monitor:after_query", g.afterQuery) return err
}
if err := db.Callback().Update().After("gorm:update").Register("db_monitor:after_update", g.afterUpdate); err != nil {
return err
}
db.Callback().Update().Before("gorm:update").Register("db_monitor:before_update", g.beforeUpdate) if err := db.Callback().Delete().Before("gorm:delete").Register("db_monitor:before_delete", g.beforeDelete); err != nil {
db.Callback().Update().After("gorm:update").Register("db_monitor:after_update", g.afterUpdate) return err
}
if err := db.Callback().Delete().After("gorm:delete").Register("db_monitor:after_delete", g.afterDelete); err != nil {
return err
}
db.Callback().Delete().Before("gorm:delete").Register("db_monitor:before_delete", g.beforeDelete) if err := db.Callback().Row().Before("gorm:row").Register("db_monitor:before_row", g.beforeRow); err != nil {
db.Callback().Delete().After("gorm:delete").Register("db_monitor:after_delete", g.afterDelete) return err
}
if err := db.Callback().Row().After("gorm:row").Register("db_monitor:after_row", g.afterRow); err != nil {
return err
}
db.Callback().Row().Before("gorm:row").Register("db_monitor:before_row", g.beforeRow) if err := db.Callback().Raw().Before("gorm:raw").Register("db_monitor:before_raw", g.beforeRaw); err != nil {
db.Callback().Row().After("gorm:row").Register("db_monitor:after_row", g.afterRow) return err
}
db.Callback().Raw().Before("gorm:raw").Register("db_monitor:before_raw", g.beforeRaw) if err := db.Callback().Raw().After("gorm:raw").Register("db_monitor:after_raw", g.afterRaw); err != nil {
db.Callback().Raw().After("gorm:raw").Register("db_monitor:after_raw", g.afterRaw) return err
}
return nil return nil
} }

View File

@@ -15,10 +15,6 @@ func TestNewGormDBMonitor(t *testing.T) {
monitor := middleware.NewInMemoryDBMonitor() monitor := middleware.NewInMemoryDBMonitor()
gormMonitor := NewGormDBMonitor(monitor) gormMonitor := NewGormDBMonitor(monitor)
if gormMonitor == nil {
t.Fatal("Expected non-nil GormDBMonitor")
}
if gormMonitor.monitor != monitor { if gormMonitor.monitor != monitor {
t.Error("Expected monitor to be set correctly") t.Error("Expected monitor to be set correctly")
} }
@@ -40,7 +36,7 @@ func TestGormDBMonitor_Initialize(t *testing.T) {
db := newTestDB(t) db := newTestDB(t)
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()
@@ -56,7 +52,7 @@ func TestGormDBMonitor_InitializeWithNilMonitor(t *testing.T) {
db := newTestDB(t) db := newTestDB(t)
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()
@@ -73,7 +69,7 @@ func TestGormDBMonitor_Callbacks(t *testing.T) {
db := newTestDB(t) db := newTestDB(t)
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()
@@ -114,7 +110,7 @@ func TestGormDBMonitor_CallbacksWithNilMonitor(t *testing.T) {
db := newTestDB(t) db := newTestDB(t)
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()
@@ -142,7 +138,7 @@ func TestGormDBMonitor_BuildQueryString(t *testing.T) {
db := newTestDB(t) db := newTestDB(t)
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()
@@ -280,7 +276,7 @@ func TestGormDBMonitor_WithRealDatabase(t *testing.T) {
} }
defer func() { defer func() {
if sqlDB, err := db.DB(); err == nil { if sqlDB, err := db.DB(); err == nil {
sqlDB.Close() _ = sqlDB.Close()
} }
}() }()