package logstorage import ( "bytes" "os" "path/filepath" "testing" "time" ) func TestFactoryResetErasesEveryClassOnDiskAndAfterReopen(t *testing.T) { root := t.TempDir() s := openTestStore(t, Options{Root: root}) for _, class := range []string{ClassAudit, ClassSystem, ClassPort, ClassLink} { if _, err := s.Append(class, time.Now(), map[string]string{"message": "customer-marker"}); err != nil { t.Fatal(err) } } if err := s.FactoryReset(); err != nil { t.Fatal(err) } reopened := openTestStore(t, Options{Root: root}) for _, class := range []string{ClassAudit, ClassSystem, ClassPort, ClassLink} { records, err := reopened.Read(class) if err != nil || len(records) != 0 { t.Fatalf("%s survived reset: %d %v", class, len(records), err) } } if err := filepath.WalkDir(root, func(path string, entry os.DirEntry, err error) error { if err != nil { return err } if entry.IsDir() { return nil } content, err := os.ReadFile(path) if err != nil { return err } if bytes.Contains(content, []byte("customer-marker")) { t.Fatalf("old payload remains on disk: %s", path) } return nil }); err != nil { t.Fatal(err) } if _, err := reopened.Append(ClassAudit, time.Now(), map[string]string{"message": "new-boot"}); err != nil { t.Fatal(err) } }