package tenantbackup import ( "path/filepath" "testing" "time" ) // TestLog_BackupAndRestoreFullyLogged ist Pruefung 3: Tenant-Sicherung // UND -Restore vollstaendig protokolliert. func TestLog_BackupAndRestoreFullyLogged(t *testing.T) { logPath := filepath.Join(t.TempDir(), "tenantbackup.log") entries := []LogEntry{ {Timestamp: time.Now().UTC(), Operation: OpBackupDB, TenantID: "a", Source: "/x/dump.pgcustom", Result: "ok"}, {Timestamp: time.Now().UTC(), Operation: OpRestoreDB, TenantID: "a", Source: "/x/dump.pgcustom", Target: "a_restored", Result: "ok"}, } for _, e := range entries { if err := AppendLog(logPath, e); err != nil { t.Fatalf("appendlog: %v", err) } } got, err := ReadLog(logPath) if err != nil { t.Fatalf("readlog: %v", err) } if len(got) != 2 { t.Fatalf("erwartet 2 eintraege, habe %d", len(got)) } if got[0].Operation != OpBackupDB || got[1].Operation != OpRestoreDB { t.Fatalf("unerwartete reihenfolge/operationen: %+v", got) } if got[0].TenantID != "a" || got[1].Target != "a_restored" { t.Fatalf("eintraege unvollstaendig: %+v", got) } }