Files
Redflag/aggregator-server/internal/database/queries/ethos_logging_test.go
jpetree331 b52f705b46 fix(ethos): D-2 ETHOS compliance sweep
- Remove emoji from log statements across server and agent
- Replace fmt.Printf with log.Printf in queries and handlers
- Apply [TAG] [system] [component] format throughout
- Exempt: display/terminal.go, setup.go, main.go CLI sections

Total violations fixed: ~45 (emoji + fmt.Printf)
All tests pass. Zero regressions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 10:43:16 -04:00

52 lines
1.4 KiB
Go

package queries_test
// ethos_logging_test.go — Pre-fix tests for fmt.Printf used as logging.
// D-2: Database query files use fmt.Printf for warnings and cleanup.
import (
"os"
"strings"
"testing"
)
func TestQueriesUseFmtPrintfForLogging(t *testing.T) {
// D-2: Database query files use fmt.Printf for warning and cleanup
// messages. These should use log.Printf with ETHOS format.
files := []string{"docker.go", "metrics.go", "updates.go"}
total := 0
for _, f := range files {
content, err := os.ReadFile(f)
if err != nil {
t.Logf("[WARNING] [server] [database] could not read %s: %v", f, err)
continue
}
count := strings.Count(string(content), "fmt.Printf")
count += strings.Count(string(content), "fmt.Println")
total += count
}
if total > 0 {
t.Errorf("[ERROR] [server] [database] D-2 NOT FIXED: %d fmt.Printf calls in query files", total)
}
t.Log("[INFO] [server] [database] D-2 FIXED: no fmt.Printf in query files")
}
func TestQueriesUseStructuredLogging(t *testing.T) {
files := []string{"docker.go", "metrics.go", "updates.go"}
for _, f := range files {
content, err := os.ReadFile(f)
if err != nil {
continue
}
count := strings.Count(string(content), "fmt.Printf")
count += strings.Count(string(content), "fmt.Println")
if count > 0 {
t.Errorf("[ERROR] [server] [database] %d fmt.Printf calls in %s.\n"+
"D-2: use log.Printf with [TAG] [server] [database] format.", count, f)
}
}
}