Fix UnitTests

This commit is contained in:
SirLynix 2023-12-30 11:14:38 +01:00
parent 69efb93671
commit 0d37e36b0c
2 changed files with 24 additions and 12 deletions

View File

@ -2,6 +2,8 @@
#include <Nazara/Network/IpAddress.hpp> #include <Nazara/Network/IpAddress.hpp>
#include <catch2/catch_approx.hpp> #include <catch2/catch_approx.hpp>
#include <catch2/catch_test_macros.hpp> #include <catch2/catch_test_macros.hpp>
#include <frozen/string.h>
#include <frozen/unordered_set.h>
SCENARIO("IpAddress", "[NETWORK][IPADDRESS]") SCENARIO("IpAddress", "[NETWORK][IPADDRESS]")
{ {
@ -128,21 +130,31 @@ SCENARIO("IpAddress", "[NETWORK][IPADDRESS]")
CHECK_FALSE(Nz::IpAddress("::ffff:123.412.210.230").IsValid()); CHECK_FALSE(Nz::IpAddress("::ffff:123.412.210.230").IsValid());
CHECK_FALSE(Nz::IpAddress("::ffff:127.0.0.0.1").IsValid()); CHECK_FALSE(Nz::IpAddress("::ffff:127.0.0.0.1").IsValid());
CHECK_FALSE(Nz::IpAddress("::ffff:0:255.255.255.255").IsValid()); CHECK_FALSE(Nz::IpAddress("::ffff:0:255.255.255.255").IsValid());
}
WHEN("We get the IP of Nazara")
{
std::vector<Nz::HostnameInfo> hostnameInfos = Nz::IpAddress::ResolveHostname(Nz::NetProtocol::Any, "nazara.digitalpulse.software");
THEN("Result is not null") WHEN("We resolve dns.google")
{ {
CHECK_FALSE(hostnameInfos.empty()); std::vector<Nz::HostnameInfo> hostnameInfos = Nz::IpAddress::ResolveHostname(Nz::NetProtocol::Any, "dns.google");
} CHECK(!hostnameInfos.empty());
frozen::unordered_set expectedAddresses = frozen::make_unordered_set<frozen::string>({
"8.8.8.8",
"8.8.4.4",
"2001:4860:4860::8888",
"2001:4860:4860::8844"
});
for (const Nz::HostnameInfo& hostnameInfo : hostnameInfos)
{
const std::string& addressStr = hostnameInfo.address.ToString(false);
INFO(addressStr);
CHECK(expectedAddresses.count(frozen::string(addressStr)) > 0);
} }
WHEN("We resolve IP to hostname") AND_WHEN("We resolve back the IP addresses to the hostname")
{ {
CHECK(Nz::IpAddress::ResolveAddress(loopbackIpV4) == "localhost"); CHECK(Nz::IpAddress::ResolveAddress(Nz::IpAddress("8.8.8.8")) == "dns.google");
CHECK(Nz::IpAddress::ResolveAddress(loopbackIpV6) == "localhost"); CHECK(Nz::IpAddress::ResolveAddress(Nz::IpAddress("2001:4860:4860::8888")) == "dns.google");
} }
} }
} }

View File

@ -6,7 +6,7 @@ if has_config("asan") then
end end
add_deps("NazaraAudio", "NazaraCore", "NazaraNetwork", "NazaraChipmunkPhysics2D") add_deps("NazaraAudio", "NazaraCore", "NazaraNetwork", "NazaraChipmunkPhysics2D")
add_packages("catch2", "entt") add_packages("catch2", "entt", "frozen")
add_headerfiles("Engine/**.hpp", { prefixdir = "private", install = false }) add_headerfiles("Engine/**.hpp", { prefixdir = "private", install = false })
add_files("resources.cpp") add_files("resources.cpp")
add_files("Engine/**.cpp") add_files("Engine/**.cpp")