anchor.diff:  
   -define(ATTEMPTS, 30).
   
  +-define(FILESIZE, 4 * ?DEFAULT_READ_BLOCK_SIZE).
  +-define(CONTENT, ?CONTENT(?FILESIZE)).
  +-define(CONTENT(FileSize), crypto:strong_rand_bytes(FileSize)).
   
   -type test_mode() :: normal_mode | share_mode.
   
   -type offset() :: non_neg_integer().
   -type size() :: non_neg_integer().
  --type download_type() :: single_file | tarball.
  -
  -
  -%%%===================================================================
  -%%% File download test functions
  +-type files_strategy() :: check_files_content | no_files.
  +
  +%%%===================================================================
  +%%% GUI download test functions
   %%%===================================================================
   
   gui_download_file_test(Config) ->
  
positive.code:         forbidden_not_in_space = [user1],
          forbidden_in_space = [user4]
      },
      gui_download_test_base(Config, <<"file">>, ClientSpec).
  
  gui_download_dir_test(Config) ->
      ClientSpec = #client_spec{
  
negative.code: 
  
  %% @private
  -spec build_rest_download_file_verify_fun(
      api_test_memory:mem_ref(),
      file_meta:size()
  ) ->
      onenv_api_test_runner:verify_fun().
  build_rest_download_file_verify_fun(MemRef, FileSize) ->
      [P1Node] = oct_background:get_provider_nodes(krakow),
      [P2Node] = oct_background:get_provider_nodes(paris),
      Providers = [P1Node, P2Node],
  
      fun
          (expected_failure, _) ->
              [#object{guid = FileGuid}] = api_test_memory:get(MemRef, file_tree_object),
              file_test_utils:await_distribution(Providers, FileGuid, [{P1Node, FileSize}]);
          (expected_success, #api_test_ctx{node = DownloadNode, data = Data}) ->
              [#object{guid = FileGuid}] = api_test_memory:get(MemRef, file_tree_object),
  
              case DownloadNode of
                  ?ONEZONE_TARGET_NODE ->
  