Skip to content

Add live end-to-end tests for FolderSync - #6

Merged
joshyunho merged 3 commits into
mainfrom
foldersync/e2e
Oct 30, 2026
Merged

joshyunho merged 3 commits into
mainfrom
foldersync/e2e

Conversation

@joshyunho

@joshyunho joshyunho commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

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.

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.
@joshyunho
joshyunho marked this pull request as ready for review October 30, 2026 13:55
@joshyunho
joshyunho requested a review from pselden October 30, 2026 13:55
@pselden

pselden commented Oct 30, 2026

Copy link
Copy Markdown
Collaborator

lgtm

@joshyunho
joshyunho merged commit 1cf09a8 into main Oct 30, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants