anchor.diff:          end,
   
       % then
  -    ?assertMatch(#client_message{message_id = MsgId, message_body = Status}, ReceivedMessage),
  +    ?assertMatch(#client_message{message_id = MsgId, message_body = Status},
  +        ReceivedMessage),
  +
  +    % given
  +    test_utils:mock_expect(Workers, router, route_message,
  +        fun(#client_message{message_id = MsgId = #message_id{issuer = server,
  +            recipient = undefined}}) ->
  +            Self ! {router_message_called, MsgId},
  +            ok
  +        end),
  +
  +    % when
  +    {ok, MsgId2} = rpc:call(Worker1, client_communicator, communicate_async,
  +        [ServerMsgInternal, SessionId]),
  +    RouterNotification = test_utils:receive_any(timer:seconds(5)),
  +
  +    % then
  +    ?assertEqual({ok, {router_message_called, MsgId2}}, RouterNotification),
       ok = ssl:close(Sock).
   
   %%%===================================================================
  
positive.code: cert_connection_test(Config) ->
      % given
      [Worker1, _] = Workers = ?config(op_worker_nodes, Config),
      HandshakeReq = #'ClientMessage'{message_body = {handshake_request, #'HandshakeRequest'{}}},
      HandshakeReqRaw = client_messages:encode_msg(HandshakeReq),
      Pid = self(),
      test_utils:mock_expect(Workers, serializator, deserialize_oneproxy_certificate_info_message,
  
negative.code: 
  client_communiate_async_test(Config) ->
      % given
      [Worker1, _] = Workers = ?config(op_worker_nodes, Config),
      Status = #status{
          code = 'VOK',
          description = <<"desc">>
      },
      ServerMsgInternal = #server_message{message_body = Status},
      Self = self(),
      {ok, {Sock, SessionId}} = spawn_ssl_echo_client(Worker1),
  
      % when
      {ok, MsgId} = rpc:call(Worker1, client_communicator, communicate_async,
          [ServerMsgInternal, SessionId, Self]),
      ReceivedMessage =
  