From 83120dbf48a6b4ac624f2d42b7d14155ab87dce6 Mon Sep 17 00:00:00 2001 From: Jinghao-coding Date: Sun, 26 Jul 2026 01:56:19 +0800 Subject: [PATCH] feat(cli): add remote file listing --- cli/cmd/file.go | 200 +++++++++++++++++++ cli/cmd/file_test.go | 92 +++++++++ cli/docs/COMMANDS.md | 27 ++- cli/internal/api/file.go | 58 ++++++ cli/internal/api/file_test.go | 114 +++++++++++ cli/internal/api/paths.go | 2 + cli/internal/i18n/catalog_file.go | 32 +++ cli/internal/i18n/i18n.go | 1 + cli/skills/crater-cli-file/SKILL.md | 45 +++++ cli/test/snapshots/file/file_test.go | 55 +++++ cli/testdata/snapshots/file/file.en.txtar | 113 +++++++++++ cli/testdata/snapshots/file/file.zh-CN.txtar | 113 +++++++++++ output/playwright/issue-479-file-list.png | Bin 0 -> 113732 bytes 13 files changed, 851 insertions(+), 1 deletion(-) create mode 100644 cli/cmd/file.go create mode 100644 cli/cmd/file_test.go create mode 100644 cli/internal/api/file.go create mode 100644 cli/internal/api/file_test.go create mode 100644 cli/internal/i18n/catalog_file.go create mode 100644 cli/skills/crater-cli-file/SKILL.md create mode 100644 cli/test/snapshots/file/file_test.go create mode 100644 cli/testdata/snapshots/file/file.en.txtar create mode 100644 cli/testdata/snapshots/file/file.zh-CN.txtar create mode 100644 output/playwright/issue-479-file-list.png diff --git a/cli/cmd/file.go b/cli/cmd/file.go new file mode 100644 index 000000000..32adfaf1e --- /dev/null +++ b/cli/cmd/file.go @@ -0,0 +1,200 @@ +package cmd + +import ( + "fmt" + "os" + "sort" + "strconv" + "strings" + "unicode" + + "github.com/raids-lab/crater/cli/internal/api" + "github.com/raids-lab/crater/cli/internal/completion" + "github.com/raids-lab/crater/cli/internal/i18n" + "github.com/raids-lab/crater/cli/internal/output" + "github.com/raids-lab/crater/cli/pkg/errorcodes" + "github.com/spf13/cobra" +) + +var fileRemoteRoots = []string{"user", "public", "account"} + +var fileCmd = &cobra.Command{ + Use: "file", + Short: "View remote files", + Long: "List files in user, public, and account storage spaces.", + RunE: func(cmd *cobra.Command, args []string) error { + if len(args) > 0 { + return errUnknownSubcommand(cmd, args[0]) + } + return cmd.Help() + }, +} + +var fileLsCmd = &cobra.Command{ + Use: "ls [remote-path]", + Short: "List remote files", + Args: maxOneArg, + RunE: runFileLs, +} + +func runFileLs(_ *cobra.Command, args []string) error { + remotePath := "" + if len(args) == 1 { + remotePath = args[0] + } + normalizedPath, err := normalizeRemotePath(remotePath, true) + if err != nil { + return err + } + + client, err := activeAPIClient() + if err != nil { + return err + } + files, err := client.ListFiles(normalizedPath) + if err != nil { + return cliErrFromAPI(err) + } + sortFileInfos(files) + + if outputJSON { + return output.WriteSuccessJSON(os.Stdout, output.SuccessEnvelope(map[string]interface{}{ + "files": files, + })) + } + printFileTable(files) + return nil +} + +func normalizeRemotePath(remotePath string, allowEmpty bool) (string, error) { + if remotePath == "" { + if allowEmpty { + return "", nil + } + return "", invalidRemotePathIssue(i18n.T("err_file_path_invalid", remotePath)) + } + if strings.ContainsRune(remotePath, '\\') { + return "", invalidRemotePathIssue(i18n.T("err_file_path_invalid", remotePath)) + } + for _, character := range remotePath { + if unicode.IsControl(character) { + return "", invalidRemotePathIssue(i18n.T("err_file_path_invalid", remotePath)) + } + } + + normalized := strings.Trim(remotePath, "/") + if normalized == "" { + if allowEmpty { + return "", nil + } + return "", invalidRemotePathIssue(i18n.T("err_file_path_empty")) + } + rawSegments := strings.Split(normalized, "/") + segments := make([]string, 0, len(rawSegments)) + for _, segment := range rawSegments { + if segment == ".." { + return "", invalidRemotePathIssue(i18n.T("err_file_path_invalid", remotePath)) + } + if segment == "" || segment == "." { + continue + } + segments = append(segments, segment) + } + if len(segments) == 0 { + if allowEmpty { + return "", nil + } + return "", invalidRemotePathIssue(i18n.T("err_file_path_invalid", remotePath)) + } + if !isFileRemoteRoot(segments[0]) { + return "", invalidRemotePathIssue(i18n.T("err_file_path_root", remotePath)) + } + return strings.Join(segments, "/"), nil +} + +func invalidRemotePathIssue(message string) error { + return errUsageFromIssues([]usageIssue{{ + Code: errorcodes.ErrInvalidFlagValue, + Message: message, + Field: "remote-path", + }}) +} + +func isFileRemoteRoot(value string) bool { + for _, root := range fileRemoteRoots { + if value == root { + return true + } + } + return false +} + +func sortFileInfos(files []api.FileInfo) { + sort.SliceStable(files, func(left, right int) bool { + if files[left].IsDir != files[right].IsDir { + return files[left].IsDir + } + leftName := strings.ToLower(files[left].Name) + rightName := strings.ToLower(files[right].Name) + if leftName == rightName { + return files[left].Name < files[right].Name + } + return leftName < rightName + }) +} + +func printFileTable(files []api.FileInfo) { + fmt.Printf("%s %s %s %s\n", + i18n.PadRight(i18n.T("table_name"), 36), + i18n.PadRight(i18n.T("table_type"), 12), + i18n.PadRight(i18n.T("file_table_size"), 14), + i18n.PadRight(i18n.T("file_table_modified"), 22)) + for _, file := range files { + fileType := i18n.T("file_type_regular") + size := strconv.FormatInt(file.Size, 10) + if file.IsDir { + fileType = i18n.T("file_type_directory") + size = "-" + } + modified := "-" + if !file.ModifyTime.IsZero() { + modified = file.ModifyTime.Format("2006-01-02 15:04:05") + } + fmt.Printf("%s %s %s %s\n", + i18n.PadRight(displayFileName(file.Name), 36), + i18n.PadRight(fileType, 12), + i18n.PadRight(size, 14), + i18n.PadRight(modified, 22)) + } +} + +func displayFileName(name string) string { + for _, character := range name { + if unicode.IsControl(character) { + return strconv.QuoteToGraphic(name) + } + } + return name +} + +func fileRootCompleter(ctx completion.Context) ([]completion.Candidate, error) { + prefix := strings.ToLower(completion.CurrentWordPrefix(ctx)) + candidates := make([]completion.Candidate, 0, len(fileRemoteRoots)) + for _, root := range fileRemoteRoots { + value := root + if prefix != "" && !strings.HasPrefix(value, prefix) { + continue + } + candidates = append(candidates, completion.Candidate{ + Value: value, + Description: i18n.T("file_root_" + root + "_desc"), + }) + } + return candidates, nil +} + +func init() { + fileCmd.AddCommand(fileLsCmd) + rootCmd.AddCommand(fileCmd) + completion.RegisterPositional([]string{"file", "ls"}, 0, fileRootCompleter) +} diff --git a/cli/cmd/file_test.go b/cli/cmd/file_test.go new file mode 100644 index 000000000..7739aedde --- /dev/null +++ b/cli/cmd/file_test.go @@ -0,0 +1,92 @@ +package cmd + +import ( + "reflect" + "testing" + + "github.com/raids-lab/crater/cli/internal/api" + "github.com/raids-lab/crater/cli/internal/completion" +) + +func TestNormalizeRemotePath(t *testing.T) { + tests := []struct { + name string + input string + allowEmpty bool + want string + wantErr bool + }{ + {name: "visible root", allowEmpty: true, want: ""}, + {name: "logical root", input: "user", want: "user"}, + {name: "leading and trailing slash", input: "/public/实验 data/", want: "public/实验 data"}, + {name: "account nested", input: "account/projects/run #1", want: "account/projects/run #1"}, + {name: "empty rejected", input: "", wantErr: true}, + {name: "unknown root", input: "admin/secret", wantErr: true}, + {name: "parent traversal", input: "user/../public", wantErr: true}, + {name: "current segment normalized", input: "user/./file", want: "user/file"}, + {name: "duplicate slash normalized", input: "user//file", want: "user/file"}, + {name: "backslash", input: `user\file`, wantErr: true}, + {name: "control byte", input: "user/file\nname", wantErr: true}, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + got, err := normalizeRemotePath(test.input, test.allowEmpty) + if (err != nil) != test.wantErr { + t.Fatalf("normalizeRemotePath(%q) error = %v, wantErr %v", test.input, err, test.wantErr) + } + if got != test.want { + t.Fatalf("normalizeRemotePath(%q) = %q, want %q", test.input, got, test.want) + } + }) + } +} + +func TestFileRootCompleterUsesStaticLogicalRoots(t *testing.T) { + candidates, err := fileRootCompleter(completion.Context{ + Words: []string{"crater", "file", "ls", "u"}, + Current: 4, + }) + if err != nil { + t.Fatalf("fileRootCompleter: %v", err) + } + if len(candidates) != 1 || candidates[0].Value != "user" { + t.Fatalf("candidates = %#v, want user", candidates) + } +} + +func TestSortFileInfosDirectoriesFirstThenName(t *testing.T) { + files := []api.FileInfo{ + {Name: "z.bin", Size: 1}, + {Name: "beta", IsDir: true}, + {Name: "Alpha.txt", Size: 2}, + {Name: "alpha", IsDir: true}, + } + sortFileInfos(files) + + got := []string{files[0].Name, files[1].Name, files[2].Name, files[3].Name} + want := []string{"alpha", "beta", "Alpha.txt", "z.bin"} + if !reflect.DeepEqual(got, want) { + t.Fatalf("sorted names = %#v, want %#v", got, want) + } +} + +func TestSortFileInfosKeepsEmptySliceStable(t *testing.T) { + files := []api.FileInfo{} + sortFileInfos(files) + if files == nil || len(files) != 0 { + t.Fatalf("files = %#v, want non-nil empty slice", files) + } +} + +func TestDisplayFileNameEscapesTerminalControlCharacters(t *testing.T) { + if got := displayFileName("safe 文件.txt"); got != "safe 文件.txt" { + t.Fatalf("safe name = %q", got) + } + if got := displayFileName("line\nname"); got != `"line\nname"` { + t.Fatalf("control-character name = %q", got) + } + if got := displayFileName("color\x1b[31m"); got != `"color\x1b[31m"` { + t.Fatalf("escape-sequence name = %q", got) + } +} diff --git a/cli/docs/COMMANDS.md b/cli/docs/COMMANDS.md index 4b75a41c3..911d78b68 100644 --- a/cli/docs/COMMANDS.md +++ b/cli/docs/COMMANDS.md @@ -762,7 +762,7 @@ This section records the read-only API surface covered by the CLI after the broa - Sensitive credential reads (`/token`, `/secret`, Harbor credential APIs) are not exposed in the broad read surface. - WebSocket, terminal, and log streaming endpoints are not exposed because they are interactive/streaming rather than stable one-shot reads. - The untracked local `inference-services` API is not documented here until that backend/frontend feature lands in the branch base. -- Public health, Swagger, Prometheus metrics, and low-level WebDAV file listing are left to their domain-specific tools rather than this first read CLI pass. +- Public health, Swagger, Prometheus metrics, and generic WebDAV operations are left to their domain-specific tools rather than this read CLI surface. ### Admin-Only Read Coverage - `crater admin system-config llm|gpu-analysis|prequeue`: `/api/v1/admin/system-config/{llm,gpu-analysis,prequeue}`. @@ -772,3 +772,28 @@ This section records the read-only API surface covered by the CLI after the broa - `crater admin cronjobs`: `/api/v1/admin/operations/cronjob`. - `crater admin whitelist`: `/api/v1/admin/operations/whitelist`. - These commands surface existing admin GET APIs only. They do not perform update/delete/reconcile actions. + +--- + +## 8. 远端文件模块 (file) + +本模块面向普通用户访问 storage service 暴露的逻辑文件空间。远端路径不是本机路径,只允许以 `user`、`public` 或 `account` 为首段;CLI 会规范化安全的 `.`、重复分隔符和首尾分隔符,逐段进行 URL 编码,保留合法的空格与非 ASCII 文件名,并在请求前拒绝任何 `..` 段、反斜杠和控制字符。 + +### `crater file ls [remote-path]` + +- **描述**:列出当前用户可见的远端文件或目录。 +- **位置参数**: + - `[remote-path]`(可选):逻辑远端目录。省略时列出可见根目录;可用根为 `user`、`public`、`account`。 +- **处理逻辑**: + - 调用 `GET /api/ss/files` 或 `GET /api/ss/files/*path`。 + - 目录排在普通文件之前,同类型条目按名称稳定排序。 + - 空目录返回稳定的空列表。 + - 本命令只读取普通用户文件视图,不会切换到管理员接口。 +- **输出格式**: + - 默认模式:表格展示 `NAME`、`TYPE`、`SIZE`、`MODIFIED`;目录的大小显示为 `-`。 + - `--json`:stdout 输出成功信封 JSON。 +- **`--json` 的 `data`**: + - `files`(数组):文件条目,每项包含 `name`、`size`、`isdir`、`modifytime`。 +- **状态**:[x] Completed + +下载、上传、创建目录、移动和删除不属于本命令范围,由各自独立的文件命令契约定义。 diff --git a/cli/internal/api/file.go b/cli/internal/api/file.go new file mode 100644 index 000000000..f82363403 --- /dev/null +++ b/cli/internal/api/file.go @@ -0,0 +1,58 @@ +package api + +import ( + "net/url" + "strings" + "time" +) + +// FileClient exposes the ordinary-user remote file APIs used by the CLI. +type FileClient interface { + ListFiles(remotePath string) ([]FileInfo, error) +} + +// NewFileClient creates a typed remote-file client. +func NewFileClient(baseURL, token string) FileClient { + return NewClient(baseURL).SetToken(token) +} + +// FileInfo is the stable subset of the storage service file-list response. +type FileInfo struct { + Name string `json:"name"` + Size int64 `json:"size"` + IsDir bool `json:"isdir"` + ModifyTime time.Time `json:"modifytime"` +} + +// ListFiles lists a logical user-visible storage path. remotePath must already +// be validated and normalized by the command layer. +func (c *Client) ListFiles(remotePath string) ([]FileInfo, error) { + requestPath := FileListPath + if remotePath != "" { + requestPath += "/" + escapeRemotePath(remotePath) + } + + var result Response[[]FileInfo] + resp, err := c.httpClient.R(). + SetSuccessResult(&result). + SetErrorResult(&result). + Get(requestPath) + if err != nil { + return nil, &NetworkError{Cause: err} + } + if err := errorFromResponse(resp, result.Code, result.Message); err != nil { + return nil, err + } + if result.Data == nil { + return []FileInfo{}, nil + } + return result.Data, nil +} + +func escapeRemotePath(remotePath string) string { + segments := strings.Split(remotePath, "/") + for index := range segments { + segments[index] = url.PathEscape(segments[index]) + } + return strings.Join(segments, "/") +} diff --git a/cli/internal/api/file_test.go b/cli/internal/api/file_test.go new file mode 100644 index 000000000..b8c11666d --- /dev/null +++ b/cli/internal/api/file_test.go @@ -0,0 +1,114 @@ +package api + +import ( + "encoding/json" + "net/http" + "net/http/httptest" + "reflect" + "testing" + + "github.com/imroc/req/v3" +) + +func fileTestClient(t *testing.T, handler http.HandlerFunc) *Client { + t.Helper() + client := NewClient("https://example.invalid") + client.httpClient.GetTransport().WrapRoundTripFunc(func(_ http.RoundTripper) req.HttpRoundTripFunc { + return func(request *http.Request) (*http.Response, error) { + recorder := httptest.NewRecorder() + handler.ServeHTTP(recorder, request) + return recorder.Result(), nil + } + }) + return client +} + +func writeFileTestResponse(t *testing.T, writer http.ResponseWriter, data interface{}) { + t.Helper() + writer.Header().Set("Content-Type", "application/json") + if err := json.NewEncoder(writer).Encode(map[string]interface{}{ + "code": 0, + "data": data, + "msg": "", + }); err != nil { + t.Fatalf("encode response: %v", err) + } +} + +func TestListFilesRoutesAndDecodes(t *testing.T) { + tests := []struct { + name string + remotePath string + escapedPath string + }{ + {name: "visible root", remotePath: "", escapedPath: "/api/ss/files"}, + {name: "nested ASCII", remotePath: "user/projects", escapedPath: "/api/ss/files/user/projects"}, + {name: "spaces unicode and reserved bytes", remotePath: "user/实验 #1/100%", escapedPath: "/api/ss/files/user/%E5%AE%9E%E9%AA%8C%20%231/100%25"}, + } + + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + client := fileTestClient(t, func(writer http.ResponseWriter, request *http.Request) { + if request.Method != http.MethodGet { + t.Errorf("method = %s, want GET", request.Method) + } + if request.URL.EscapedPath() != test.escapedPath { + t.Errorf("escaped path = %q, want %q", request.URL.EscapedPath(), test.escapedPath) + } + writeFileTestResponse(t, writer, []map[string]interface{}{{ + "name": "checkpoint.bin", + "size": 42, + "isdir": false, + "modifytime": "2026-07-26T08:09:10Z", + "sys": map[string]string{"ignored": "value"}, + }}) + }) + + files, err := client.ListFiles(test.remotePath) + if err != nil { + t.Fatalf("ListFiles: %v", err) + } + if len(files) != 1 || files[0].Name != "checkpoint.bin" || files[0].Size != 42 || files[0].IsDir { + t.Fatalf("files = %#v", files) + } + if got := files[0].ModifyTime.UTC().Format("2006-01-02T15:04:05Z"); got != "2026-07-26T08:09:10Z" { + t.Fatalf("modify time = %q", got) + } + }) + } +} + +func TestListFilesNormalizesNullToEmptySlice(t *testing.T) { + client := fileTestClient(t, func(writer http.ResponseWriter, _ *http.Request) { + writeFileTestResponse(t, writer, nil) + }) + + files, err := client.ListFiles("user/empty") + if err != nil { + t.Fatalf("ListFiles: %v", err) + } + if files == nil || !reflect.DeepEqual(files, []FileInfo{}) { + t.Fatalf("files = %#v, want non-nil empty slice", files) + } +} + +func TestListFilesPreservesStorageError(t *testing.T) { + client := fileTestClient(t, func(writer http.ResponseWriter, _ *http.Request) { + writer.Header().Set("Content-Type", "application/json") + writer.WriteHeader(http.StatusUnauthorized) + _ = json.NewEncoder(writer).Encode(map[string]interface{}{ + "code": 7, + "data": nil, + "msg": "permission denied", + }) + }) + + _, err := client.ListFiles("public/private") + requestErr, ok := err.(*RequestError) + if !ok { + t.Fatalf("error = %T %v, want *RequestError", err, err) + } + if requestErr.HTTPStatus != http.StatusUnauthorized || requestErr.CraterCode != 7 || requestErr.Msg != "permission denied" { + t.Fatalf("request error = %#v", requestErr) + } +} diff --git a/cli/internal/api/paths.go b/cli/internal/api/paths.go index 6ccc6fce4..7ea12ae55 100644 --- a/cli/internal/api/paths.go +++ b/cli/internal/api/paths.go @@ -27,6 +27,7 @@ const ( AdminQueueQuotasPfx = "/api/v1/admin/queue-quotas" AdminGPUAnalysisPfx = "/api/v1/admin/gpu-analysis" SystemConfigPrefix = "/api/v1/system-config" + StoragePrefix = "/api/ss" AdminSysConfigPfx = "/api/v1/admin/system-config" UsersPrefix = "/api/v1/users" AdminUsersPrefix = "/api/v1/admin/users" @@ -54,4 +55,5 @@ const ( VCJobListPath = VCJobsPrefix VCJobBillingPath = VCJobsPrefix + "/billing" AdminVCJobBillingPath = AdminVCJobsPrefix + "/billing" + FileListPath = StoragePrefix + "/files" ) diff --git a/cli/internal/i18n/catalog_file.go b/cli/internal/i18n/catalog_file.go new file mode 100644 index 000000000..21cfce17e --- /dev/null +++ b/cli/internal/i18n/catalog_file.go @@ -0,0 +1,32 @@ +package i18n + +var catalogFile = map[Language]map[string]string{ + En: { + "file_short": "View remote files", + "file_long": "List files in user, public, and account storage spaces.", + "file_ls_short": "List remote files", + "err_file_path_invalid": "invalid remote path %q", + "err_file_path_root": "remote path must start with user, public, or account: %q", + "file_type_directory": "directory", + "file_type_regular": "file", + "file_table_size": "SIZE", + "file_table_modified": "MODIFIED", + "file_root_user_desc": "Your private user storage.", + "file_root_public_desc": "Shared public storage.", + "file_root_account_desc": "Storage for the current account.", + }, + ZhCN: { + "file_short": "查看远端文件", + "file_long": "列出用户、公共及当前账户存储空间中的文件。", + "file_ls_short": "列出远端文件", + "err_file_path_invalid": "无效的远端路径 %q", + "err_file_path_root": "远端路径必须以 user、public 或 account 开头:%q", + "file_type_directory": "目录", + "file_type_regular": "文件", + "file_table_size": "大小", + "file_table_modified": "修改时间", + "file_root_user_desc": "当前用户的私有存储空间", + "file_root_public_desc": "共享公共存储空间", + "file_root_account_desc": "当前账户的存储空间", + }, +} diff --git a/cli/internal/i18n/i18n.go b/cli/internal/i18n/i18n.go index c2a68e3a2..003729a13 100644 --- a/cli/internal/i18n/i18n.go +++ b/cli/internal/i18n/i18n.go @@ -24,6 +24,7 @@ var translations = mergeCatalogs( catalogCompletion, catalogCompatibility, catalogDownload, + catalogFile, catalogRead, catalogImage, catalogOrder, diff --git a/cli/skills/crater-cli-file/SKILL.md b/cli/skills/crater-cli-file/SKILL.md new file mode 100644 index 000000000..faeaa7ab7 --- /dev/null +++ b/cli/skills/crater-cli-file/SKILL.md @@ -0,0 +1,45 @@ +--- +name: crater-cli-file +version: 0.1.0 +description: "Use Crater CLI to list ordinary-user remote files in user, public, and account storage spaces." +metadata: + requires: + bins: ["crater"] + cliHelp: "crater file --help" +--- + +# Crater CLI File + +**CRITICAL — Before doing anything else, MUST read `crater-cli-shared` (possible path: [`../crater-cli-shared/SKILL.md`](../crater-cli-shared/SKILL.md)) for global options, non-interactive use, errors, and sensitive information handling.** + +Use `crater file` when a user needs to inspect files visible through their ordinary Crater identity. + +## Supported workflow + +- List visible storage roots: `crater file ls` +- List a nested directory: `crater file ls ` +- Return structured data for a script or agent: add `--json --no-interactive` + +Remote paths are logical Crater paths. They must start with `user`, `public`, or `account`; do not pass local filesystem paths or construct paths containing `.` or `..`. + +## Safety + +- `file ls` is read-only. +- Do not ask the user to provide a token or Keyring content. +- Do not substitute `crater admin ...` endpoints for an ordinary-user request. +- Prefer exact paths shown by a previous `file ls` result. + +## Examples + +```bash +crater file ls --json --no-interactive +crater file ls user/projects --json --no-interactive +crater file ls "account/共享数据" --json --no-interactive +``` + +## Troubleshooting + +1. Run `crater auth ls --json` and confirm an active context exists. +2. Use `crater file ls --help` to verify the local binary supports the command. +3. A path validation error means the path is outside the ordinary-user logical roots or contains an unsafe segment. +4. For API errors, inspect `category`, `code`, and `context.http_status` from JSON stderr without exposing credentials. diff --git a/cli/test/snapshots/file/file_test.go b/cli/test/snapshots/file/file_test.go new file mode 100644 index 000000000..837210d1a --- /dev/null +++ b/cli/test/snapshots/file/file_test.go @@ -0,0 +1,55 @@ +package file_test + +import ( + "os" + "testing" + + "github.com/raids-lab/crater/cli/internal/snaptest" +) + +const goldenStemFile = "file" + +func TestFileSnapshotsEN(t *testing.T) { + runFileSnapshots(t, "en") +} + +func TestFileSnapshotsZhCN(t *testing.T) { + runFileSnapshots(t, "zh-CN") +} + +func runFileSnapshots(t *testing.T, language string) { + t.Helper() + path := snaptest.GoldenFileT(t, "file", goldenStemFile, language) + home := t.TempDir() + baseEnv := snaptest.EnvMinimal(home, language) + binary := snaptest.CraterExecutable(t) + cases := []snaptest.Case{ + {ID: "01-file-typo-json", Args: []string{"file", "list", "--json", "--no-interactive"}}, + {ID: "02-file-ls-extra-arg-json", Args: []string{"file", "ls", "user", "extra", "--json", "--no-interactive"}}, + {ID: "03-file-ls-traversal-json", Args: []string{"file", "ls", "user/../public", "--json", "--no-interactive"}}, + {ID: "04-file-ls-invalid-root-json", Args: []string{"file", "ls", "admin/secret", "--json", "--no-interactive"}}, + {ID: "05-file-ls-root-404-json", Args: []string{"file", "ls", "--json", "--no-interactive"}}, + {ID: "06-file-ls-unicode-404-json", Args: []string{"file", "ls", "user/实验 data", "--json", "--no-interactive"}}, + {ID: "07-file-help", Args: []string{"file", "--help"}}, + {ID: "08-file-ls-help", Args: []string{"file", "ls", "--help"}}, + } + + results := make([]*snaptest.Result, len(cases)) + for index := range cases { + environment := baseEnv + switch cases[index].ID { + case "05-file-ls-root-404-json", "06-file-ls-unicode-404-json": + environment = append(baseEnv, "CRATER_TEST_SANDBOX_HTTP=error404") + } + result, err := snaptest.Run(binary, environment, cases[index].Args) + if err != nil { + t.Fatalf("case %s: %v", cases[index].ID, err) + } + results[index] = result + } + + update := os.Getenv("UPDATE_SNAPSHOTS") == "1" || os.Getenv("UPDATE_SNAPSHOTS") == "true" + if err := snaptest.MatchOrUpdateGolden(path, language, cases, results, update); err != nil { + t.Fatal(err) + } +} diff --git a/cli/testdata/snapshots/file/file.en.txtar b/cli/testdata/snapshots/file/file.en.txtar new file mode 100644 index 000000000..9e0f81199 --- /dev/null +++ b/cli/testdata/snapshots/file/file.en.txtar @@ -0,0 +1,113 @@ +# Crater CLI snapshot bundle (txtar). Regenerate: make snapshot-update (or UPDATE_SNAPSHOTS=1 go test ./test/snapshots/...) +-- en/01-file-typo-json/argv -- +crater file list --json --no-interactive +-- en/01-file-typo-json/exit -- +2 +-- en/01-file-typo-json/stdout -- +-- en/01-file-typo-json/stderr -- +{ + "category": "usage_error", + "code": "ERR_UNKNOWN_COMMAND", + "message": "unknown command \"list\" for \"crater file\"\n\nDid you mean this?\n\tls\n\nRun \"crater file --help\" for usage." +} +-- en/02-file-ls-extra-arg-json/argv -- +crater file ls user extra --json --no-interactive +-- en/02-file-ls-extra-arg-json/exit -- +2 +-- en/02-file-ls-extra-arg-json/stdout -- +-- en/02-file-ls-extra-arg-json/stderr -- +{ + "category": "usage_error", + "code": "ERR_INVALID_FLAG_VALUE", + "message": "too many arguments for crater file ls: got 2, want at most 1" +} +-- en/03-file-ls-traversal-json/argv -- +crater file ls user/../public --json --no-interactive +-- en/03-file-ls-traversal-json/exit -- +2 +-- en/03-file-ls-traversal-json/stdout -- +-- en/03-file-ls-traversal-json/stderr -- +{ + "category": "usage_error", + "code": "ERR_INVALID_FLAG_VALUE", + "message": "invalid remote path \"user/../public\"" +} +-- en/04-file-ls-invalid-root-json/argv -- +crater file ls admin/secret --json --no-interactive +-- en/04-file-ls-invalid-root-json/exit -- +2 +-- en/04-file-ls-invalid-root-json/stdout -- +-- en/04-file-ls-invalid-root-json/stderr -- +{ + "category": "usage_error", + "code": "ERR_INVALID_FLAG_VALUE", + "message": "remote path must start with user, public, or account: \"admin/secret\"" +} +-- en/05-file-ls-root-404-json/argv -- +crater file ls --json --no-interactive +-- en/05-file-ls-root-404-json/exit -- +4 +-- en/05-file-ls-root-404-json/stdout -- +-- en/05-file-ls-root-404-json/stderr -- +{ + "category": "api_error", + "code": "ERR_NOT_FOUND_404", + "message": "HTTP 404: simulated", + "context": { + "crater_code": 404, + "http_status": 404, + "msg": "simulated" + } +} +-- en/06-file-ls-unicode-404-json/argv -- +crater file ls user/实验 data --json --no-interactive +-- en/06-file-ls-unicode-404-json/exit -- +4 +-- en/06-file-ls-unicode-404-json/stdout -- +-- en/06-file-ls-unicode-404-json/stderr -- +{ + "category": "api_error", + "code": "ERR_NOT_FOUND_404", + "message": "HTTP 404: simulated", + "context": { + "crater_code": 404, + "http_status": 404, + "msg": "simulated" + } +} +-- en/07-file-help/argv -- +crater file --help +-- en/07-file-help/exit -- +0 +-- en/07-file-help/stdout -- +List files in user, public, and account storage spaces. + +Usage: + crater file [flags] + crater file [command] + +Available Commands: + ls List remote files + +Global Flags: + -h, --help Help for crater + --json Output in raw JSON format + --no-interactive Disable interactive prompts + +Use "crater file [command] --help" for more information about a command. +-- en/07-file-help/stderr -- +-- en/08-file-ls-help/argv -- +crater file ls --help +-- en/08-file-ls-help/exit -- +0 +-- en/08-file-ls-help/stdout -- +List remote files + +Usage: + crater file ls [remote-path] [flags] + +Global Flags: + -h, --help Help for crater + --json Output in raw JSON format + --no-interactive Disable interactive prompts +-- en/08-file-ls-help/stderr -- diff --git a/cli/testdata/snapshots/file/file.zh-CN.txtar b/cli/testdata/snapshots/file/file.zh-CN.txtar new file mode 100644 index 000000000..db425bd2a --- /dev/null +++ b/cli/testdata/snapshots/file/file.zh-CN.txtar @@ -0,0 +1,113 @@ +# Crater CLI snapshot bundle (txtar). Regenerate: make snapshot-update (or UPDATE_SNAPSHOTS=1 go test ./test/snapshots/...) +-- zh-CN/01-file-typo-json/argv -- +crater file list --json --no-interactive +-- zh-CN/01-file-typo-json/exit -- +2 +-- zh-CN/01-file-typo-json/stdout -- +-- zh-CN/01-file-typo-json/stderr -- +{ + "category": "usage_error", + "code": "ERR_UNKNOWN_COMMAND", + "message": "unknown command \"list\" for \"crater file\"\n\nDid you mean this?\n\tls\n\nRun \"crater file --help\" for usage." +} +-- zh-CN/02-file-ls-extra-arg-json/argv -- +crater file ls user extra --json --no-interactive +-- zh-CN/02-file-ls-extra-arg-json/exit -- +2 +-- zh-CN/02-file-ls-extra-arg-json/stdout -- +-- zh-CN/02-file-ls-extra-arg-json/stderr -- +{ + "category": "usage_error", + "code": "ERR_INVALID_FLAG_VALUE", + "message": "crater file ls 的参数过多:收到 2 个,最多允许 1 个" +} +-- zh-CN/03-file-ls-traversal-json/argv -- +crater file ls user/../public --json --no-interactive +-- zh-CN/03-file-ls-traversal-json/exit -- +2 +-- zh-CN/03-file-ls-traversal-json/stdout -- +-- zh-CN/03-file-ls-traversal-json/stderr -- +{ + "category": "usage_error", + "code": "ERR_INVALID_FLAG_VALUE", + "message": "无效的远端路径 \"user/../public\"" +} +-- zh-CN/04-file-ls-invalid-root-json/argv -- +crater file ls admin/secret --json --no-interactive +-- zh-CN/04-file-ls-invalid-root-json/exit -- +2 +-- zh-CN/04-file-ls-invalid-root-json/stdout -- +-- zh-CN/04-file-ls-invalid-root-json/stderr -- +{ + "category": "usage_error", + "code": "ERR_INVALID_FLAG_VALUE", + "message": "远端路径必须以 user、public 或 account 开头:\"admin/secret\"" +} +-- zh-CN/05-file-ls-root-404-json/argv -- +crater file ls --json --no-interactive +-- zh-CN/05-file-ls-root-404-json/exit -- +4 +-- zh-CN/05-file-ls-root-404-json/stdout -- +-- zh-CN/05-file-ls-root-404-json/stderr -- +{ + "category": "api_error", + "code": "ERR_NOT_FOUND_404", + "message": "请求失败(HTTP 404):simulated", + "context": { + "crater_code": 404, + "http_status": 404, + "msg": "simulated" + } +} +-- zh-CN/06-file-ls-unicode-404-json/argv -- +crater file ls user/实验 data --json --no-interactive +-- zh-CN/06-file-ls-unicode-404-json/exit -- +4 +-- zh-CN/06-file-ls-unicode-404-json/stdout -- +-- zh-CN/06-file-ls-unicode-404-json/stderr -- +{ + "category": "api_error", + "code": "ERR_NOT_FOUND_404", + "message": "请求失败(HTTP 404):simulated", + "context": { + "crater_code": 404, + "http_status": 404, + "msg": "simulated" + } +} +-- zh-CN/07-file-help/argv -- +crater file --help +-- zh-CN/07-file-help/exit -- +0 +-- zh-CN/07-file-help/stdout -- +列出用户、公共及当前账户存储空间中的文件。 + +Usage: + crater file [flags] + crater file [command] + +Available Commands: + ls 列出远端文件 + +Global Flags: + -h, --help 显示帮助信息 + --json 以原始 JSON 格式输出 + --no-interactive 禁用交互式提示 + +Use "crater file [command] --help" for more information about a command. +-- zh-CN/07-file-help/stderr -- +-- zh-CN/08-file-ls-help/argv -- +crater file ls --help +-- zh-CN/08-file-ls-help/exit -- +0 +-- zh-CN/08-file-ls-help/stdout -- +列出远端文件 + +Usage: + crater file ls [remote-path] [flags] + +Global Flags: + -h, --help 显示帮助信息 + --json 以原始 JSON 格式输出 + --no-interactive 禁用交互式提示 +-- zh-CN/08-file-ls-help/stderr -- diff --git a/output/playwright/issue-479-file-list.png b/output/playwright/issue-479-file-list.png new file mode 100644 index 0000000000000000000000000000000000000000..4e018e553b12e1f4f811335bbf2c36e795b3da0a GIT binary patch literal 113732 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 z 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

S6Rf~?k-xz?Q&HbBn9FZV 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 E0YGT