(t *testing.T)
| 217 | } |
| 218 | |
| 219 | func TestRestoreJSONVerboseDoesNotPrintText(t *testing.T) { |
| 220 | cmd, stdout := testRestoreCmd() |
| 221 | setRestoreOutputJSON(t, cmd) |
| 222 | if err := cmd.Flags().Set("verbose", "true"); err != nil { |
| 223 | t.Fatalf("set verbose: %v", err) |
| 224 | } |
| 225 | |
| 226 | mock := &mockFilesClient{ |
| 227 | restoreFn: func(arg *files.RestoreArg) (*files.FileMetadata, error) { |
| 228 | return &files.FileMetadata{ |
| 229 | Metadata: files.Metadata{PathDisplay: "/Reports/old.pdf"}, |
| 230 | Rev: "current-rev", |
| 231 | ServerModified: dropbox.DBXTime(time.Date(2026, 6, 17, 12, 30, 0, 0, time.UTC)), |
| 232 | }, nil |
| 233 | }, |
| 234 | } |
| 235 | stubFilesClient(t, mock) |
| 236 | |
| 237 | if err := restore(cmd, []string{"/Reports/old.pdf", "target-rev"}); err != nil { |
| 238 | t.Fatalf("restore error: %v", err) |
| 239 | } |
| 240 | if strings.Contains(stdout.String(), "Restored ") { |
| 241 | t.Fatalf("stdout = %q, want JSON only", stdout.String()) |
| 242 | } |
| 243 | got := decodeRestoreOutput(t, stdout) |
| 244 | if got.Results[0].Result.Rev != "current-rev" { |
| 245 | t.Fatalf("rev = %q, want current-rev", got.Results[0].Result.Rev) |
| 246 | } |
| 247 | } |
| 248 | |
| 249 | func TestRestoreJSONErrorWritesNoOutput(t *testing.T) { |
| 250 | cmd, stdout := testRestoreCmd() |
nothing calls this directly
no test coverage detected