(t *testing.T)
| 528 | } |
| 529 | |
| 530 | func TestRmJSONPermanentUsesValidatedMetadata(t *testing.T) { |
| 531 | cmd, stdout := testRmCmd(t) |
| 532 | setRmOutputJSON(t, cmd) |
| 533 | setRmFlag(t, cmd, "permanent") |
| 534 | file := rmFileMetadata("/File.txt") |
| 535 | file.Rev = "validated-rev" |
| 536 | var permanentlyDeleted []string |
| 537 | |
| 538 | mock := &mockFilesClient{ |
| 539 | getMetadataFn: func(arg *files.GetMetadataArg) (files.IsMetadata, error) { |
| 540 | return file, nil |
| 541 | }, |
| 542 | deleteV2Fn: func(arg *files.DeleteArg) (*files.DeleteResult, error) { |
| 543 | t.Fatalf("DeleteV2 called for permanent delete: %v", arg) |
| 544 | return nil, nil |
| 545 | }, |
| 546 | permanentlyDeleteFn: func(arg *files.DeleteArg) error { |
| 547 | permanentlyDeleted = append(permanentlyDeleted, arg.Path) |
| 548 | return nil |
| 549 | }, |
| 550 | } |
| 551 | stubFilesClient(t, mock) |
| 552 | |
| 553 | if err := rm(cmd, []string{"/File.txt"}); err != nil { |
| 554 | t.Fatalf("rm error: %v", err) |
| 555 | } |
| 556 | if len(permanentlyDeleted) != 1 || permanentlyDeleted[0] != "/File.txt" { |
| 557 | t.Fatalf("permanentlyDeleted = %v, want [/File.txt]", permanentlyDeleted) |
| 558 | } |
| 559 | got := decodeRemoveOutput(t, stdout) |
| 560 | if len(got.Results) != 1 { |
| 561 | t.Fatalf("results len = %d, want 1", len(got.Results)) |
| 562 | } |
| 563 | result := got.Results[0] |
| 564 | if !result.Input.Permanent { |
| 565 | t.Fatalf("permanent = false, want true") |
| 566 | } |
| 567 | if result.Result.Rev != "validated-rev" { |
| 568 | t.Fatalf("rev = %q, want validated-rev", result.Result.Rev) |
| 569 | } |
| 570 | } |
| 571 | |
| 572 | func TestRmJSONMultipleTargets(t *testing.T) { |
| 573 | cmd, stdout := testRmCmd(t) |
nothing calls this directly
no test coverage detected