anchor.diff:  all() ->
       ?ALL([
           create_file,
  +        rename_file,
           delete_file,
           set_json_metadata,
           modify_json_metadata,
  
positive.code: %% tests
  -export([
      create_file/1,
      delete_file/1,
      set_json_metadata/1,
      modify_json_metadata/1,
  
negative.code:             <<"xattrs">> => ExpectedFinalXattrs
          }
      }], ProviderId).
  
  modify_metadata_and_rename_file(Config) ->
      [Worker | _] = ?config(op_worker_nodes, Config),
      SessId = ?SESS_ID(Worker),
  
      FileName = ?FILE_NAME,
      FileName2 = ?FILE_NAME,
      JSON = #{<<"color">> => <<"blue">>},
  
      {ok, Guid} = lfm_proxy:create(Worker, SessId, ?PATH(FileName, ?SPACE_ID1), 8#600),
      ok = lfm_proxy:set_metadata(Worker, SessId, {guid, Guid}, json, JSON, []),
      {ok, FileId} = file_id:guid_to_objectid(Guid),
  
      Destination = #{?HARVESTER1 => [?INDEX11]},
      EncodedJSON = json_utils:encode(JSON),
      ProviderId = ?PROVIDER_ID(Worker),
  
      ?assertReceivedHarvestMetadata(?SPACE_ID1, Destination, [#{
          <<"fileId">> => FileId,
          <<"spaceId">> => ?SPACE_ID1,
          <<"fileName">> => FileName,
          <<"operation">> => <<"submit">>,
          <<"payload">> => #{
              <<"json">> => EncodedJSON
          }
      }], ProviderId),
  
      JSON2 = #{<<"color">> => <<"blue">>, <<"size">> => <<"big">>},
      EncodedJSON2 = json_utils:encode(JSON2),
      {ok, Guid} = lfm_proxy:mv(Worker, SessId, {guid, Guid}, ?PATH(FileName2, ?SPACE_ID1)),
      ok = lfm_proxy:set_metadata(Worker, SessId, {guid, Guid}, json, JSON2, []),
  
      % both updates should be aggregated and sent in one batch
      ?assertReceivedHarvestMetadata(?SPACE_ID1, Destination, [#{
          <<"fileId">> => FileId,
          <<"spaceId">> => ?SPACE_ID1,
          <<"fileName">> => FileName2,
          <<"operation">> => <<"submit">>,
          <<"payload">> => #{
              <<"json">> => EncodedJSON2
          }
      }], ProviderId).
  
  
  changes_should_be_submitted_to_all_harvesters_and_indices_subscribed_for_the_space(Config) ->
      % ?HARVESTER1 and ?HARVESTER2 are subscribed for ?SPACE_ID2
  