mirror of
https://github.com/agent0ai/agent-zero.git
synced 2026-07-09 17:08:29 +00:00
Let backup creation and restore cleanup use unlimited pattern scans so archives for agents with more than 50,000 files are complete. Keep UI preview and dry-run paths bounded for responsiveness while making the dry-run truncated flag safe for optional limits. Add regression coverage for unlimited scans, backup creation, clean-before-restore, and restoring an archive entry past the old 50,000-file boundary.
2.2 KiB
2.2 KiB
backup_test.py DOX
Purpose
- Own the
backup_test.pyAPI endpoint. - This module handles backup test requests.
- Keep this file-level DOX profile synchronized with
backup_test.pybecause this directory is intentionally flat.
Ownership
backup_test.pyowns the runtime implementation.backup_test.py.dox.mdowns durable notes about responsibilities, contracts, side effects, and verification for that implementation.- Classes:
BackupTest(ApiHandler)requires_auth(cls) -> boolrequires_loopback(cls) -> boolasync process(self, input: dict, request: Request) -> dict | Response
Runtime Contracts
- HTTP handlers must derive from
helpers.api.ApiHandler; WebSocket handlers must derive fromhelpers.ws.WsHandler. - Update this file whenever request payloads, authentication or CSRF requirements, response shapes, route side effects, or WebSocket event contracts change.
BackupTestis anApiHandler.BackupTestdefinesprocess(...).BackupTestdefinesrequires_auth(...).BackupTestdefinesrequires_loopback(...).- Imported dependency areas include:
helpers.api,helpers.backup. - The
truncatedresponse flag is true only when a finitemax_fileslimit is supplied and the result reaches that limit.
Key Concepts
- Important called helpers/classes observed in the source:
BackupService,backup_service.test_patterns,line.strip,line.startswith,patterns_string.split,line.strip.startswith. - Keep request/response, tool, or helper semantics documented here at the same time as source changes.
Work Guidance
- Preserve authentication, CSRF, loopback, and API-key checks unless the endpoint contract explicitly changes.
- Update frontend callers, plugin callers, and tests together when payload shape changes.
- Use
helpers.api.Responsefor non-JSON responses, files, redirects, or status-specific replies.
Verification
- Run endpoint-specific or API/WebSocket tests for changed behavior; smoke-test browser callers when no focused test exists.
- No direct test reference was found by name search; choose the nearest behavioral test or perform a focused smoke check.
Child DOX Index
No child DOX files.