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

Function TestGetRecursive_AppendsSourceBaseWhenDstIsDirectory

cmd/get_test.go:883–931  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

881}
882
883func TestGetRecursive_AppendsSourceBaseWhenDstIsDirectory(t *testing.T) {
884 tmpDir := t.TempDir()
885 var listPath string
886 var downloadPath string
887
888 mock := &mockFilesClient{
889 getMetadataFn: func(arg *files.GetMetadataArg) (files.IsMetadata, error) {
890 return &files.FolderMetadata{Metadata: files.Metadata{PathDisplay: arg.Path}}, nil
891 },
892 listFolderFn: func(arg *files.ListFolderArg) (*files.ListFolderResult, error) {
893 listPath = arg.Path
894 return &files.ListFolderResult{
895 Entries: []files.IsMetadata{
896 &files.FileMetadata{Metadata: files.Metadata{PathDisplay: "/remote/folder/file.txt"}, Size: 4},
897 },
898 HasMore: false,
899 }, nil
900 },
901 downloadFn: func(arg *files.DownloadArg) (*files.FileMetadata, io.ReadCloser, error) {
902 downloadPath = arg.Path
903 return &files.FileMetadata{
904 Metadata: files.Metadata{PathDisplay: arg.Path},
905 Size: 4,
906 }, io.NopCloser(strings.NewReader("data")), nil
907 },
908 }
909 stubFilesClient(t, mock)
910
911 cmd := &cobra.Command{}
912 cmd.Flags().BoolP("recursive", "r", true, "")
913
914 err := get(cmd, []string{"/remote/folder", tmpDir})
915 if err != nil {
916 t.Fatalf("get error: %v", err)
917 }
918 if listPath != "/remote/folder" {
919 t.Errorf("ListFolder path = %q, want /remote/folder", listPath)
920 }
921 if downloadPath != "/remote/folder/file.txt" {
922 t.Errorf("Download path = %q, want /remote/folder/file.txt", downloadPath)
923 }
924 got, err := os.ReadFile(filepath.Join(tmpDir, "folder", "file.txt"))
925 if err != nil {
926 t.Fatalf("failed to read downloaded file: %v", err)
927 }
928 if string(got) != "data" {
929 t.Errorf("downloaded file = %q, want data", got)
930 }
931}
932
933func TestRelativeTo(t *testing.T) {
934 tests := []struct {

Callers

nothing calls this directly

Calls 2

stubFilesClientFunction · 0.85
getFunction · 0.85

Tested by

no test coverage detected