MCPcopy
hub / github.com/henrygd/beszel / TestDeleteOldAlertsHistoryEdgeCases

Function TestDeleteOldAlertsHistoryEdgeCases

internal/records/records_test.go:304–351  ·  view source on GitHub ↗

TestDeleteOldAlertsHistoryEdgeCases tests edge cases for alerts history deletion

(t *testing.T)

Source from the content-addressed store, hash-verified

302
303// TestDeleteOldAlertsHistoryEdgeCases tests edge cases for alerts history deletion
304func TestDeleteOldAlertsHistoryEdgeCases(t *testing.T) {
305 hub, err := tests.NewTestHub(t.TempDir())
306 require.NoError(t, err)
307 defer hub.Cleanup()
308
309 t.Run("No users with excessive alerts", func(t *testing.T) {
310 // Create user with few alerts
311 user, err := tests.CreateUser(hub, "few@example.com", "testtesttest")
312 require.NoError(t, err)
313
314 system, err := tests.CreateRecord(hub, "systems", map[string]any{
315 "name": "test-system",
316 "host": "localhost",
317 "port": "45876",
318 "status": "up",
319 "users": []string{user.Id},
320 })
321
322 // Create only 5 alerts (well below threshold)
323 for i := range 5 {
324 _, err := tests.CreateRecord(hub, "alerts_history", map[string]any{
325 "user": user.Id,
326 "name": "CPU",
327 "value": i + 1,
328 "system": system.Id,
329 })
330 require.NoError(t, err)
331 }
332
333 // Should not error and should not delete anything
334 err = records.DeleteOldAlertsHistory(hub, 10, 20)
335 require.NoError(t, err)
336
337 count, err := hub.CountRecords("alerts_history")
338 require.NoError(t, err)
339 assert.Equal(t, int64(5), count, "All alerts should remain")
340 })
341
342 t.Run("Empty alerts_history table", func(t *testing.T) {
343 // Clear any existing alerts
344 _, err := hub.DB().NewQuery("DELETE FROM alerts_history").Execute()
345 require.NoError(t, err)
346
347 // Should not error with empty table
348 err = records.DeleteOldAlertsHistory(hub, 10, 20)
349 require.NoError(t, err)
350 })
351}
352
353// TestDeleteOldSystemdServiceRecords tests systemd service cleanup via DeleteOldRecords
354func TestDeleteOldSystemdServiceRecords(t *testing.T) {

Callers

nothing calls this directly

Calls 5

CleanupMethod · 0.95
NewTestHubFunction · 0.92
CreateUserFunction · 0.92
CreateRecordFunction · 0.92
DeleteOldAlertsHistoryFunction · 0.92

Tested by

no test coverage detected