anchor.diff:              
               % correct data is set up in build_rest_download_prepare_args_fun/2
               data_spec = api_test_utils:add_file_id_errors_for_operations_available_in_share_mode(
  -                DirGuid, DirShareId, #data_spec{}
  +                DirGuid, DirShareId, DataSpec
               )
           }
       ])).
  
positive.code: %%      no_files -> checks that there are no files.
  %% @end
  %%--------------------------------------------------------------------
  -spec check_tarball(binary(), binary()) -> ok.
  check_tarball(Bytes, FileTreeObject) ->
      check_tarball(Bytes, FileTreeObject, check_files_content).
  
  
  %% @private
  -spec check_tarball(binary(), binary(), files_strategy()) -> ok.
  check_tarball(Bytes, FileTreeObject, FilesStrategy) ->
      check_extracted_tarball_structure(FileTreeObject, FilesStrategy, unpack_tarball(Bytes), root_dir).
  
  
  %% @private
  -spec check_extracted_tarball_structure(onenv_file_test_utils:object_spec(), files_strategy(), binary(), child | root_dir) -> 
      ok.
  check_extracted_tarball_structure(#object{type = ?DIRECTORY_TYPE} = Object, FilesStrategy, CurrentPath, DirType) ->
      #object{name = Dirname, children = Children} = Object,
      {ok, TmpDirContentAfter} = file:list_dir(CurrentPath),
      ExpectDir = FilesStrategy == check_files_content orelse DirType == root_dir,
      ?assertEqual(ExpectDir, lists:member(binary_to_list(Dirname), TmpDirContentAfter)),
      lists:foreach(fun(Child) ->
          check_extracted_tarball_structure(Child, FilesStrategy, filename:join(CurrentPath, Dirname), child)
      end, Children);
  check_extracted_tarball_structure(#object{type = ?REGULAR_FILE_TYPE} = Object, check_files_content, CurrentPath, _) ->
      #object{name = Filename, content = ExpContent} = Object,
      ?assertEqual({ok, ExpContent}, file:read_file(filename:join(CurrentPath, Filename)));
  check_extracted_tarball_structure(#object{type = ?SYMLINK_TYPE} = Object, check_files_content, CurrentPath, _) ->
      #object{name = Filename, symlink_value = LinkPath} = Object,
      ?assertEqual({ok, binary_to_list(LinkPath)}, file:read_link(filename:join(CurrentPath, Filename)));
  check_extracted_tarball_structure(#object{type = ?SYMLINK_TYPE} = Object, _, CurrentPath, root_dir) ->
      #object{name = Filename, symlink_value = LinkPath} = Object,
      ?assertEqual({ok, binary_to_list(LinkPath)}, file:read_link(filename:join(CurrentPath, Filename)));
  check_extracted_tarball_structure(#object{name = Filename}, no_files, CurrentPath, _ParentDirType) ->
      {ok, TmpDirContentAfter} = file:list_dir(CurrentPath),
      ?assertEqual(false, lists:member(binary_to_list(Filename), TmpDirContentAfter)).
  
  
  %% @private
  
negative.code:     
              % correct data is set up in build_rest_download_prepare_args_fun/2
              data_spec = api_test_utils:add_file_id_errors_for_operations_available_in_share_mode(
                  DirGuid, undefined, DataSpec)
          },
          #scenario_spec{
              name = <<"Download shared dir using rest endpoint">>,
  