(t *testing.T)
| 142 | } |
| 143 | |
| 144 | func 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 | |
| 177 | func TestRmRecursiveDeletesNonEmptyFolder(t *testing.T) { |
| 178 | cmd, _ := testRmCmd(t) |
nothing calls this directly
no test coverage detected