anchor.diff:  
                   case ExpResult of
                       expected_success ->
  -                        Timeout = timer:seconds(?ATTEMPTS),
  -                        receive
  -                            ?ARCHIVE_PURGED(ArchiveId) -> ok
  -                        after
  -                            Timeout ->
  -                                ct:fail("Archive ~p not purged", [ArchiveId])
  +                        case maps:is_key(<<"callback">>, Data) of
  +                            true -> await_archive_purged_callback_called(ArchiveId);
  +                            false -> ok
                           end;
                       expected_failure ->
                           ok
  
positive.code:         {Id, _} = api_test_utils:maybe_substitute_bad_id(ArchiveId, Data0),
          api_test_memory:set(MemRef, archive_to_purge, ArchiveObject#archive_object{id = Id}),
  
          Body = #{<<"callback">> => maps:get(<<"callback">>, Data0, ?CALLBACK_URL())},
  
          #rest_args{
              method = post,
              headers = #{<<"content-type">> => <<"application/json">>},
              path = <<"archives/", Id/binary, "/init_purge">>,
              body = json_utils:encode(Body)
          }
      end.
  
  
negative.code:         {Id, _} = api_test_utils:maybe_substitute_bad_id(ArchiveId, Data0),
          api_test_memory:set(MemRef, archive_to_purge, ArchiveObject#archive_object{id = Id}),
  
          #gs_args{
              operation = create,
              gri = #gri{type = op_archive, id = Id, aspect = purge, scope = private},
              data = Data0
          }
      end.
  
  