anchor.diff:          ?assertMatch(#'ServerMessage'{message_body = {pong, #'Pong'{}},
               message_id = BinaryN},
               Pong),
  -        N+1
  +        N + 1
       end, 1, RawPings),
       T2 = os:timestamp(),
   
  
positive.code:     ok = ssl:close(Sock).
  
  -perf_test([
      {repeats, 3},
      {perf_configs, [
          [{msg_num, 100000}]
      ]},
  
negative.code:     _FullTime = {full_time, timer:now_diff(T2, T1)},
  %%     ct:print("~p", [_FullTime]),
      ok = ssl:close(Sock).
  
  -perf_test([
      {repeats, 10},
      {perf_configs, [
          [{connections_num, 100}]
      ]},
      {ct_config, [{connections_num, 1000}]}
  ]).
  multi_connection_test(Config) ->
      % given
      [Worker1 | _] = ?config(op_worker_nodes, Config),
      ConnNumbers = ?config(connections_num, Config),
      ConnNumbersList = [integer_to_binary(N) || N <- lists:seq(1, ConnNumbers)],
  
      % when
      Connections = lists:map(
          fun(N) ->
              connect_via_token(Worker1, [{reuse_sessions, false}]) % todo repair oneproxy and delete reuse_sessions flag
          end, ConnNumbersList),
  
      % then
      lists:foreach(
          fun(ConnectionAns) ->
              ?assertMatch({ok, {_, _}}, ConnectionAns),
              {ok, {Sock, SessId}} = ConnectionAns,
              ?assert(is_binary(SessId)),
              ?assertMatch({ok, _}, ssl:connection_info(Sock))
          end, Connections),
      lists:foreach(fun({ok, {Sock, _}}) -> ssl:close(Sock) end, Connections).
  
  
  %%%===================================================================
  %%% SetUp and TearDown functions
  