Repository navigation
Add live end-to-end tests for FolderSync - #6
Merged
Merged
Conversation
npm run test:e2e runs 26 tests against real Dropbox through a running token server: normal syncing, computers syncing at the same time, edits during transfers, and concurrent work across projects and managed users. A run stops at once without a token server, keeps tokens and the app secret out of its log, and keeps the log only when it fails.
Collaborator
|
lgtm |
pselden
approved these changes
Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
npm run test:e2e, which runs local live e2e tests: FolderSync against real Dropbox through a local token server. It creates managed users and syncs between two simulated computers. It checks conflicts, deletes, case clashes, undo, and token renewal, then deletes the users. CI doesn't run it, so the repo holds no app secret. AGENTS.md, CONTRIBUTING.md, and the README highly recommend running it with your own app's credentials before changing sync, tokens, or agents. A maintainer runs it before every release.A run stops at once if the token server isn't running. A failed run keeps a log in
out/e2e/with tokens and the app secret redacted. A passing run deletes it.One race test is skipped. When an edit and a delete reach Dropbox at the same moment, Dropbox can apply both.
Test plan
FOLDERSYNC_E2E_TOKEN_SERVER=http://127.0.0.1:8787 npm run test:e2e: 25 passed, 1 skipped, in 4 min 16 s. No test users or folders were left behind, and the output has no secrets. After the last test change, the 10 sync tests passed again.npm test(293 tests, including the log redaction tests), lint, and format checks pass.