39 lines
1.2 KiB
C++
39 lines
1.2 KiB
C++
#include <catch2/catch_test_macros.hpp>
|
|
|
|
#include "protocol/quicr/QuicrEndpoint.hpp"
|
|
|
|
using namespace tw::net;
|
|
using namespace tw::net::quicr;
|
|
|
|
TEST_CASE("Endpoint registers new connection with correct ID", "[quicr2]") {
|
|
auto endpoint_r = QuicrEndpoint::create();
|
|
REQUIRE(endpoint_r);
|
|
auto& server_endpoint = *endpoint_r.value();
|
|
REQUIRE(server_endpoint.bind(6972));
|
|
|
|
auto client_endpoint_r = QuicrEndpoint::create();
|
|
REQUIRE(client_endpoint_r);
|
|
auto& client_endpoint = *client_endpoint_r.value();
|
|
|
|
auto connect_r = client_endpoint.connect(Address{"127.0.0.1", 6972});
|
|
REQUIRE(connect_r);
|
|
QuicrConnection& connection = *connect_r.value();
|
|
REQUIRE(connection.self_id() != 0);
|
|
REQUIRE(connection.peer_id() != 0);
|
|
|
|
connection.send_initial_hello();
|
|
|
|
client_endpoint.poll();
|
|
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
|
|
|
server_endpoint.poll();
|
|
|
|
auto clients = server_endpoint.clients();
|
|
REQUIRE(clients.size() == 2);
|
|
|
|
REQUIRE(((clients[0].first == connection.peer_id()) || (clients[1].first == connection.peer_id())));
|
|
REQUIRE(clients[0].second->peer_id() == connection.self_id());
|
|
REQUIRE(clients[1].second->peer_id() == connection.self_id());
|
|
}
|