Stabilize Shared Files dynamic folder lifecycle E2E
Summary¶
Stabilize the UI-driven Shared Files dynamic-folder lifecycle scenario so it is usable as a release regression gate.
The current scenario exists, but the live run exposed drive-tree selection fragility. This item turns it into a dependable test that proves UI sharing operations and REST-visible shared-file state agree.
Acceptance Criteria¶
- [x] drive-tree node discovery works reliably on the isolated profile
- [x] UI add/remove shared directory operations are observed through
/api/v1/shared-directories - [x] adding and deleting files under a shared root is reflected through
/api/v1/shared-files - [x] recursive and non-recursive roots are both covered
- [x] failure artifacts include UI observations and REST snapshots
Progress Evidence¶
- 2026-05-10: added a focused aggregate-suite selector for Shared Files UI
scenarios and ran:
python -m emule_workspace test live-e2e --config Release --platform x64 --suite shared-files-ui --shared-files-ui-scenario dynamic-folder-lifecycle. The aggregate reportrepos\emulebb-build-tests\reports\live-e2e-suite\20260510-055052-eMule-main-release\result.jsonpassed with onlydynamic-folder-lifecycleselected. - 2026-05-10: the focused Shared Files report
repos\emulebb-build-tests\reports\shared-files-ui-e2e\20260510-055052-eMule-main-release\result.jsonpassed the dynamic lifecycle. UI and REST shared-file names matched forinitial_empty,after_share,after_add_file,after_delete_file, andafter_unshare; the observed names werealpha_dynamic.txt,beta_dynamic.bin, andgamma_late.txtwhere expected. - 2026-05-10: ran the recursive robustness scenario through the focused
selector:
python -m emule_workspace test live-e2e --config Release --platform x64 --suite shared-files-ui --shared-files-ui-scenario generated-robustness-recursive. The aggregate reportrepos\emulebb-build-tests\reports\live-e2e-suite\20260510-055317-eMule-main-release\result.jsonpassed, and the Shared Files report confirmed 26 expected visible files, 13 ignored files, 12 shared-directory tree entries, and expected ascending/descending size-sort prefixes. - 2026-05-10: ran the non-recursive three-file fixture through the focused
selector:
python -m emule_workspace test live-e2e --config Release --platform x64 --suite shared-files-ui --shared-files-ui-scenario fixture-three-files. The aggregate reportrepos\emulebb-build-tests\reports\live-e2e-suite\20260510-055351-eMule-main-release\result.jsonpassed, and the Shared Files report confirmed the three expected rows, name-sort order, size-sort order, reload preservation, and detail-pane selection updates. - 2026-05-10: hardened Shared Files UI failure artifacts in
repos\emulebb-build-testscommitd1df89d. REST-backed dynamic and monitored scenarios now addfailure_observationwith the current Shared Files UI row count, UI names, REST shared-file names, and REST shared-directory model where available. Targeted unit verification:python -m emule_workspace test python --path tests/python/test_shared_files_ui_e2e.py --quietpassed with 12 tests. - 2026-05-10: reran the monitored-folder scenario after artifact hardening:
python -m emule_workspace test live-e2e --config Release --platform x64 --suite shared-files-ui --shared-files-ui-scenario monitored-folder-events. The aggregate reportrepos\emulebb-build-tests\reports\live-e2e-suite\20260510-055636-eMule-main-release\result.jsonpassed, with REST and UI names matching through monitor share, file create, directory create, file delete, and monitor unshare.
Relationship To Other Items¶
- backs
CI-011 - exercises the API surface added by
REST-001