Files
Charon/backend/internal/models/hooks_test.go
GitHub Actions 3169b05156 fix: skip incomplete system log viewer tests
- Marked 12 tests as skip pending feature implementation
- Features tracked in GitHub issue #686 (system log viewer feature completion)
- Tests cover sorting by timestamp/level/method/URI/status, pagination controls, filtering by text/level, download functionality
- Unblocks Phase 2 at 91.7% pass rate to proceed to Phase 3 security enforcement validation
- TODO comments in code reference GitHub #686 for feature completion tracking
- Tests skipped: Pagination (3), Search/Filter (2), Download (2), Sorting (1), Log Display (4)
2026-02-09 21:55:55 +00:00

64 lines
1.4 KiB
Go

package models
import (
"testing"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
func setupTestDB(t *testing.T) *gorm.DB {
t.Helper()
db, err := gorm.Open(sqlite.Open("file::memory:?cache=shared"), &gorm.Config{})
if err != nil {
t.Fatalf("failed to open in-memory db: %v", err)
}
if err := db.AutoMigrate(&NotificationTemplate{}, &UptimeHost{}, &UptimeNotificationEvent{}); err != nil {
t.Fatalf("auto migrate failed: %v", err)
}
return db
}
func TestNotificationTemplate_BeforeCreate(t *testing.T) {
db := setupTestDB(t)
tmpl := &NotificationTemplate{
Name: "hook-test",
}
if err := db.Create(tmpl).Error; err != nil {
t.Fatalf("create failed: %v", err)
}
if tmpl.ID == "" {
t.Fatalf("expected ID to be populated by BeforeCreate")
}
}
func TestUptimeHost_BeforeCreate(t *testing.T) {
db := setupTestDB(t)
h := &UptimeHost{
Host: "127.0.0.1",
}
if err := db.Create(h).Error; err != nil {
t.Fatalf("create failed: %v", err)
}
if h.ID == "" {
t.Fatalf("expected ID to be populated by BeforeCreate")
}
if h.Status != "pending" {
t.Fatalf("expected default Status 'pending', got %q", h.Status)
}
}
func TestUptimeNotificationEvent_BeforeCreate(t *testing.T) {
db := setupTestDB(t)
e := &UptimeNotificationEvent{
HostID: "host-1",
EventType: "down",
}
if err := db.Create(e).Error; err != nil {
t.Fatalf("create failed: %v", err)
}
if e.ID == "" {
t.Fatalf("expected ID to be populated by BeforeCreate")
}
}