Files
larksuite-cli/tests/cli_e2e/drive/coverage.md
zhouyue-bytedance ac4c34f2ad feat: support file-name for drive export (#685)
* feat: support file-name for drive export

* test: cover drive export file-name metadata
2026-04-30 17:30:23 +08:00

5.2 KiB

Drive CLI E2E Coverage

Metrics

  • Denominator: 29 leaf commands
  • Covered: 2
  • Coverage: 6.9%

Summary

  • TestDrive_FilesCreateFolderWorkflow: proves drive files create_folder in create_folder as bot; helper asserts the returned folder token and registers best-effort cleanup via drive files delete.
  • TestDrive_StatusWorkflow: proves drive +status against a real Drive folder. Seeds the remote side via drive +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 expected rel_path and file_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 --type overriding URL inference when both a recognized URL and --type are supplied, bare-token + explicit --type path, request method/URL/type-query/perm/remark body shape, optional remark omission 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-dir metadata without calling live APIs.
  • Cleanup note: drive files delete is 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_WikiTarget covers the wiki-target request shape for drive +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