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

Function TestRmNonEmptyFolderRequiresRecursiveOrForce

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

Source from the content-addressed store, hash-verified

142}
143
144func TestRmNonEmptyFolderRequiresRecursiveOrForce(t *testing.T) {
145 cmd, _ := testRmCmd(t)
146 deleteCalled := false
147
148 mock := &mockFilesClient{
149 getMetadataFn: func(arg *files.GetMetadataArg) (files.IsMetadata, error) {
150 return rmFolderMetadata("/folder"), nil
151 },
152 listFolderFn: func(arg *files.ListFolderArg) (*files.ListFolderResult, error) {
153 return rmNonEmptyFolderResult(), nil
154 },
155 deleteV2Fn: func(arg *files.DeleteArg) (*files.DeleteResult, error) {
156 deleteCalled = true
157 return nil, nil
158 },
159 }
160 stubFilesClient(t, mock)
161
162 err := rm(cmd, []string{"/folder"})
163 if err == nil {
164 t.Fatal("expected error for non-empty folder without recursive or force")
165 }
166 if !strings.Contains(err.Error(), "--recursive") || !strings.Contains(err.Error(), "--force") {
167 t.Fatalf("error = %q, want recursive and force guidance", err.Error())
168 }
169 if got, want := jsonErrorCode(err), jsonErrorCodeInvalidArguments; got != want {
170 t.Fatalf("jsonErrorCode = %q, want %q", got, want)
171 }
172 if deleteCalled {
173 t.Fatal("delete called after validation failure")
174 }
175}
176
177func TestRmRecursiveDeletesNonEmptyFolder(t *testing.T) {
178 cmd, _ := testRmCmd(t)

Callers

nothing calls this directly

Calls 7

testRmCmdFunction · 0.85
rmFolderMetadataFunction · 0.85
rmNonEmptyFolderResultFunction · 0.85
stubFilesClientFunction · 0.85
rmFunction · 0.85
jsonErrorCodeFunction · 0.85
ErrorMethod · 0.45

Tested by

no test coverage detected