MCPcopy Create free account
hub / github.com/dropbox/dbxcli / TestRmJSONPermanentUsesValidatedMetadata

Function TestRmJSONPermanentUsesValidatedMetadata

cmd/rm_test.go:530–570  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

528}
529
530func 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
572func TestRmJSONMultipleTargets(t *testing.T) {
573 cmd, stdout := testRmCmd(t)

Callers

nothing calls this directly

Calls 7

testRmCmdFunction · 0.85
setRmOutputJSONFunction · 0.85
setRmFlagFunction · 0.85
rmFileMetadataFunction · 0.85
stubFilesClientFunction · 0.85
rmFunction · 0.85
decodeRemoveOutputFunction · 0.85

Tested by

no test coverage detected