package objectbackup import ( "context" "os" "path/filepath" "testing" ) // TestRestore_RecoversRealContentFromSnapshot ist Pruefung 1 fuer BAK-03 // (Objekt-Storage-Teil): Restore auf leerem Zielverzeichnis vollstaendig // erfolgreich, real gegen restic geprueft, Dateiinhalt tatsaechlich // verglichen (kein Bloss-Existenz-Check). func TestRestore_RecoversRealContentFromSnapshot(t *testing.T) { cfg := setupTest(t) ctx := context.Background() sourceDir := t.TempDir() content := []byte("original objektinhalt fuer restore-test") if err := os.WriteFile(filepath.Join(sourceDir, "objekt.txt"), content, 0o600); err != nil { t.Fatal(err) } summary, err := Backup(ctx, cfg, sourceDir) if err != nil { t.Fatalf("backup: %v", err) } targetDir := t.TempDir() if err := Restore(ctx, cfg, summary.SnapshotID, targetDir); err != nil { t.Fatalf("restore: %v", err) } restoredPath := filepath.Join(targetDir, sourceDir, "objekt.txt") got, err := os.ReadFile(restoredPath) if err != nil { t.Fatalf("wiederhergestellte datei lesen (%s): %v", restoredPath, err) } if string(got) != string(content) { t.Fatalf("wiederhergestellter inhalt = %q, want %q", got, content) } }