anchor.diff:          <<Acc/binary, (rand:uniform(26) + 96)>>
       end, <<>>, lists:seq(1, Length)).
   
  +%%-------------------------------------------------------------------
  +%% @private
  +%% @doc
  +%% This function is used to verify whether storage is accessible on
  +%% all nodes. It verifies whether it can read the file referenced by
  +%% FileId and whether its content is equal to FileContent.
  +%% Next, it creates a new test file and recursively calls itself
  +%% on the next node from the Nodes list.
  +%% @end
  +%%-------------------------------------------------------------------
   -spec verify_storage_internal(helpers:helper(), helpers:user_ctx(), [node()],
       helpers:file_id(), Content :: binary()) ->
       {ok, {helpers:file_id(), binary()}} | {error, term()}.
  
positive.code: 
  
  %% API
  -export([generate_file_id/0, create_test_file/3, read_test_file/3,
      update_test_file/3, remove_test_file/4, verify_test_file/4, verify_storage_on_all_nodes/1]).
  
  -define(TEST_FILE_NAME_LEN, application:get_env(?APP_NAME,
      storage_test_file_name_size, 32)).
  
negative.code: %%--------------------------------------------------------------------
  %% @private
  %% @doc
  %% Returns content of storage test file.
  %% @end
  %%--------------------------------------------------------------------
  -spec read_test_file(helpers:helper(), helpers:user_ctx(), helpers:file_id()) ->
      Content :: binary().
  read_test_file(Helper, UserCtx, FileId) ->
      Handle = helpers:get_helper_handle(Helper, UserCtx),
      {ok, FileHandle} = helpers:open(Handle, FileId, read),
      {ok, Content} = helpers:read(FileHandle, 0, ?TEST_FILE_CONTENT_LEN),
      ok = helpers:release(FileHandle),
      Content.
  
  %%--------------------------------------------------------------------
  %% @private
  %% @doc
  %% Create random sequence consisting of lowercase ASCII letters.
  %% @end
  %%--------------------------------------------------------------------
  