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

Function TestSearchJSONOutputsInputAndResults

cmd/search_test.go:195–276  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

193}
194
195func TestSearchJSONOutputsInputAndResults(t *testing.T) {
196 cmd, stdout := testSearchCmd()
197 setSearchOutputJSON(t, cmd)
198 setSearchFlag(t, cmd, "long", "true")
199 setSearchFlag(t, cmd, "sort", "name")
200 setSearchFlag(t, cmd, "reverse", "true")
201 setSearchFlag(t, cmd, "time", "client")
202 setSearchFlag(t, cmd, "time-format", "rfc3339")
203 setSearchFlag(t, cmd, "content", "true")
204 setSearchFlag(t, cmd, "limit", "2")
205 setSearchFlag(t, cmd, "order-by", "modified")
206 var firstArg *files.SearchV2Arg
207
208 mock := &mockFilesClient{
209 searchV2Fn: func(arg *files.SearchV2Arg) (*files.SearchV2Result, error) {
210 firstArg = arg
211 return files.NewSearchV2Result([]*files.SearchMatchV2{
212 searchMatch(&files.FileMetadata{
213 Metadata: files.Metadata{
214 PathDisplay: "/docs/report.txt",
215 PathLower: "/docs/report.txt",
216 },
217 Id: "id:file",
218 Rev: "rev-file",
219 Size: 42,
220 }),
221 searchMatch(&files.FolderMetadata{
222 Metadata: files.Metadata{
223 PathDisplay: "/docs/archive",
224 PathLower: "/docs/archive",
225 },
226 Id: "id:folder",
227 }),
228 }, false), nil
229 },
230 }
231 stubFilesClient(t, mock)
232
233 if err := search(cmd, []string{"report", "/docs"}); err != nil {
234 t.Fatalf("search error: %v", err)
235 }
236 if firstArg == nil {
237 t.Fatal("SearchV2 was not called")
238 }
239 if firstArg.Query != "report" {
240 t.Fatalf("query = %q, want report", firstArg.Query)
241 }
242 if firstArg.Options == nil || firstArg.Options.Path != "/docs" {
243 t.Fatalf("options path = %#v, want /docs", firstArg.Options)
244 }
245 if firstArg.Options.FilenameOnly {
246 t.Fatal("filename_only = true, want false with --content")
247 }
248 if firstArg.Options.MaxResults != 2 {
249 t.Fatalf("max_results = %d, want 2", firstArg.Options.MaxResults)
250 }
251 if firstArg.Options.OrderBy == nil || firstArg.Options.OrderBy.Tag != files.SearchOrderByLastModifiedTime {
252 t.Fatalf("order_by = %#v, want last_modified_time", firstArg.Options.OrderBy)

Callers

nothing calls this directly

Calls 7

testSearchCmdFunction · 0.85
setSearchOutputJSONFunction · 0.85
setSearchFlagFunction · 0.85
searchMatchFunction · 0.85
stubFilesClientFunction · 0.85
searchFunction · 0.85
decodeSearchOutputFunction · 0.85

Tested by

no test coverage detected