2026-09-24 01:38:49 +00:00
|
|
|
package cli
|
|
|
|
|
|
|
|
|
|
import (
|
2026-11-10 18:13:12 +00:00
|
|
|
"gitea.maximumdirect.net/eric/audita/v3/internal/core/config"
|
2026-09-24 01:38:49 +00:00
|
|
|
"path/filepath"
|
|
|
|
|
"testing"
|
|
|
|
|
)
|
|
|
|
|
|
2026-09-24 17:27:11 +00:00
|
|
|
func TestReportDirectorySelectionOnlyUsesActiveDestination(t *testing.T) {
|
|
|
|
|
cfg := config.Config{Reporting: config.Reporting{Enabled: true, StdoutDir: "reports"}}
|
2026-10-03 13:46:50 +00:00
|
|
|
if got, err := selectedReportDir(cfg, "", false); err != nil || got != "reports" {
|
2026-09-24 17:27:11 +00:00
|
|
|
t.Fatalf("stdout destination: %q %v", got, err)
|
|
|
|
|
}
|
2026-10-03 13:46:50 +00:00
|
|
|
if got, err := selectedReportDir(cfg, filepath.Join("out", "corrected.json"), false); err != nil || got != "out" {
|
2026-09-24 17:27:11 +00:00
|
|
|
t.Fatalf("file destination ignored stdout setting: %q %v", got, err)
|
|
|
|
|
}
|
2026-10-03 13:46:50 +00:00
|
|
|
if got, err := selectedReportDir(cfg, filepath.Join("out", "corrected.json"), true); err != nil || got != "reports" {
|
|
|
|
|
t.Fatalf("explicit file report directory: %q %v", got, err)
|
|
|
|
|
}
|
|
|
|
|
cfg.Reporting.StdoutDir = ""
|
|
|
|
|
if got, err := selectedReportDir(cfg, filepath.Join("out", "corrected.json"), false); err != nil || got != "out" {
|
|
|
|
|
t.Fatalf("inactive blank configured report directory rejected for file output: %q %v", got, err)
|
|
|
|
|
}
|
|
|
|
|
if _, err := selectedReportDir(cfg, filepath.Join("out", "corrected.json"), true); err == nil {
|
|
|
|
|
t.Fatal("active explicit blank report directory accepted for file output")
|
|
|
|
|
}
|
|
|
|
|
if _, err := selectedReportDir(cfg, "", false); err == nil {
|
2026-09-24 17:27:11 +00:00
|
|
|
t.Fatal("enabled stdout reporting accepted blank destination")
|
|
|
|
|
}
|
|
|
|
|
cfg.Reporting.Enabled = false
|
2026-10-03 13:46:50 +00:00
|
|
|
if got, err := selectedReportDir(cfg, filepath.Join("out", "corrected.json"), true); err != nil || got != "" {
|
2026-09-24 17:27:11 +00:00
|
|
|
t.Fatalf("disabled reporting probed destination: %q %v", got, err)
|
|
|
|
|
}
|
|
|
|
|
}
|