anchor.diff:  %% @private
   -spec make_symlink_target(od_space:id(), onenv_file_test_utils:object_spec()) ->
       file_meta_symlinks:symlink().
  -make_symlink_target(SpaceId, Object) ->
  -    make_symlink_target(SpaceId, <<"">>, Object).
  -
  -
  -%% @private
  --spec make_symlink_target(od_space:id(), file_meta:path(), onenv_file_test_utils:object_spec()) ->
  +make_symlink_target(SpaceId, #object{name = Name}) ->
  +    make_symlink_target(SpaceId, <<"">>, Name).
  +
  +
  +%% @private
  +-spec make_symlink_target(od_space:id(), file_meta:path(), file_meta:name()) ->
       file_meta_symlinks:symlink().
  -make_symlink_target(SpaceId, ParentPath, #object{name = Name}) ->
  +make_symlink_target(SpaceId, ParentPath, Name) ->
       SpaceIdSymlinkPrefix = ?SYMLINK_SPACE_ID_ABS_PATH_PREFIX(SpaceId),
       filename:join([SpaceIdSymlinkPrefix, ParentPath, Name]).
   
  
positive.code: check_extracted_tarball_structure(MemRef, #object{type = ?SYMLINK_TYPE} = Object, _, CurrentPath, root_dir) ->
      check_symlink(MemRef, CurrentPath, Object, api_test_memory:get(MemRef, scope, private));
  check_extracted_tarball_structure(_MemRef, #object{name = Filename}, no_files, CurrentPath, _ParentDirType) ->
      {ok, TmpDirContentAfter} = file:list_dir(CurrentPath),
      ?assertEqual(false, lists:member(binary_to_list(Filename), TmpDirContentAfter)).
  
  
  %% @private
  -spec check_symlink(api_test_memory:mem_ref(), file_meta:path(), onenv_file_test_utils:object_spec(), public | private) -> ok.
  check_symlink(MemRef, CurrentPath, Object, private) ->
      #object{name = Filename, symlink_value = LinkPath} = Object,
      case api_test_memory:get(MemRef, follow_symlinks) of
          true ->
              % link target files has its name as content
              ?assertEqual({ok, filename:basename(LinkPath)}, file:read_file(filename:join(CurrentPath, Filename)));
          false ->
              ?assertEqual({ok, binary_to_list(LinkPath)}, file:read_link(filename:join(CurrentPath, Filename)))
      end;
  check_symlink(_MemRef, CurrentPath, Object, public) ->
      #object{name = Filename} = Object,
  
negative.code: ) ->
      ok.
  gui_download_test_base(Config, FileTreeSpec, ClientSpec, ScenarioPrefix) ->
      gui_download_test_base(Config, FileTreeSpec, ClientSpec, ScenarioPrefix, #{}).
  
  %% @private
  -spec gui_download_test_base(
      test_config:config(),
      onenv_file_test_utils:object_spec() | [onenv_file_test_utils:file_spec()],
      onenv_api_test_runner:client_spec(),
      binary(), 
      #{
          download_type => simulate_failures | uninterrupted_download,
          create_files_mode => parallel | sequential
      }
  ) ->
      ok.
  gui_download_test_base(Config, FileTreeSpec, ClientSpec, ScenarioPrefix, Opts) ->
      Providers = ?config(op_worker_nodes, Config),
  
      SpaceId = oct_background:get_space_id(space_krk_par),
  