mirror of
https://github.com/larksuite/cli.git
synced 2026-07-07 09:11:44 +08:00
5.2 KiB
5.2 KiB
Drive CLI E2E Coverage
Metrics
- Denominator: 29 leaf commands
- Covered: 2
- Coverage: 6.9%
Summary
- TestDrive_FilesCreateFolderWorkflow: proves
drive files create_folderincreate_folder as bot; helper asserts the returned folder token and registers best-effort cleanup viadrive files delete. - TestDrive_StatusWorkflow: proves
drive +statusagainst a real Drive folder. Seeds the remote side viadrive +upload(unchanged.txt,modified.txt,remote-only.txt), seeds local files with the matching/diverging contents, and asserts every output bucket (unchanged,modified,new_local,new_remote) holds exactly the expectedrel_pathandfile_token. Cleans up uploaded files and the parent folder via best-effort cleanup hooks. - TestDrive_ApplyPermissionDryRun / TestDrive_ApplyPermissionDryRunRejectsFullAccess: dry-run coverage for
drive +apply-permission; asserts URL→type inference for docx/sheet/slides, explicit--typeoverriding URL inference when both a recognized URL and--typeare supplied, bare-token + explicit--typepath, request method/URL/type-query/perm/remark body shape, optionalremarkomission when unset, and client-side rejection of--perm full_access. Runs without hitting the live API. - TestDriveExportDryRun_FileNameMetadata: dry-run coverage for
drive +export; asserts export task request shape and local--file-name/--output-dirmetadata without calling live APIs. - Cleanup note:
drive files deleteis only exercised in cleanup and is intentionally left uncovered. - Blocked area: live upload, live export, comment, permission, subscription, and reply flows still need deterministic remote fixtures and filesystem setup.
- Dry-run note:
drive_upload_dryrun_test.go::TestDriveUploadDryRun_WikiTargetcovers the wiki-target request shape fordrive +upload, but there is still no live upload workflow coverage.
Command Table
| Status | Cmd | Type | Testcase | Key parameter shapes | Notes / uncovered reason |
|---|---|---|---|---|---|
| ✕ | drive +add-comment | shortcut | none | no comment workflow yet | |
| ✓ | drive +apply-permission | shortcut | drive_apply_permission_dryrun_test.go::TestDrive_ApplyPermissionDryRun | --token URL vs bare; --type (enum) with URL inference; --perm view|edit; --remark optional |
dry-run only; no live-apply E2E because a real request pushes a card to the owner |
| ✕ | drive +delete | shortcut | none | no primary delete workflow yet | |
| ✕ | drive +download | shortcut | none | no file fixture workflow yet | |
| ✓ | drive +export | shortcut | drive_export_dryrun_test.go::TestDriveExportDryRun_FileNameMetadata | --token; --doc-type; --file-extension; --file-name; --output-dir |
dry-run only; no live export workflow yet |
| ✕ | drive +export-download | shortcut | none | no export-download workflow yet | |
| ✕ | drive +import | shortcut | none | no import workflow yet | |
| ✕ | drive +move | shortcut | none | no move workflow yet | |
| ✓ | drive +status | shortcut | drive_status_workflow_test.go::TestDrive_StatusWorkflow + drive_status_dryrun_test.go::TestDrive_StatusDryRun | --local-dir; --folder-token; bucketed new_local / new_remote / modified / unchanged outputs |
dry-run pins request shape; live workflow seeds via +upload and asserts all four buckets |
| ✕ | drive +task_result | shortcut | none | no async task-result workflow yet | |
| ✕ | drive +upload | shortcut | drive_upload_dryrun_test.go::TestDriveUploadDryRun_WikiTarget (dry-run only) | --wiki-token; parent_type=wiki; parent_node |
no live upload workflow yet |
| ✕ | drive file.comment.replys create | api | none | no reply workflow yet | |
| ✕ | drive file.comment.replys delete | api | none | no reply workflow yet | |
| ✕ | drive file.comment.replys list | api | none | no reply workflow yet | |
| ✕ | drive file.comment.replys update | api | none | no reply workflow yet | |
| ✕ | drive file.comments create_v2 | api | none | no file comment workflow yet | |
| ✕ | drive file.comments list | api | none | no file comment workflow yet | |
| ✕ | drive file.comments patch | api | none | no file comment workflow yet | |
| ✕ | drive file.statistics get | api | none | no statistics workflow yet | |
| ✕ | drive file.view_records list | api | none | no view-record workflow yet | |
| ✕ | drive files copy | api | none | no file copy workflow yet | |
| ✓ | drive files create_folder | api | drive_files_workflow_test.go::TestDrive_FilesCreateFolderWorkflow/create_folder as bot | name; empty folder_token in --data |
|
| ✕ | drive files list | api | none | no list workflow yet | |
| ✕ | drive metas batch_query | api | none | no metadata workflow yet | |
| ✕ | drive permission.members auth | api | none | permission workflows not covered | |
| ✕ | drive permission.members create | api | none | permission workflows not covered | |
| ✕ | drive permission.members transfer_owner | api | none | permission workflows not covered | |
| ✕ | drive user remove_subscription | api | none | subscription workflows not covered | |
| ✕ | drive user subscription | api | none | subscription workflows not covered | |
| ✕ | drive user subscription_status | api | none | subscription workflows not covered |