mirror of
https://github.com/basiliscos/syncspirit.git
synced 2026-06-01 17:47:32 +00:00
50 lines
1.6 KiB
C++
50 lines
1.6 KiB
C++
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
// SPDX-FileCopyrightText: 2019-2023 Ivan Baidakou
|
|
|
|
#include "test-utils.h"
|
|
#include "proto/upnp_support.h"
|
|
#include <filesystem>
|
|
#include <iostream>
|
|
|
|
namespace sys = boost::system;
|
|
namespace bfs = std::filesystem;
|
|
|
|
using namespace syncspirit::proto;
|
|
using namespace syncspirit::test;
|
|
|
|
TEST_CASE("parse IGD description", "[support]") {
|
|
auto xml = read_file(locate_path("data/49652gatedesc.xml"));
|
|
auto wan_service = parse_igd(xml.c_str(), xml.size());
|
|
REQUIRE(wan_service);
|
|
REQUIRE(wan_service.value().control_path == "/upnp/control/WANIPConn1");
|
|
REQUIRE(wan_service.value().description_path == "/gateconnSCPD.xml");
|
|
}
|
|
|
|
TEST_CASE("parse external IP", "[support]") {
|
|
auto xml = read_file(locate_path("data/external-ip.xml"));
|
|
auto ip = parse_external_ip(xml.c_str(), xml.size());
|
|
REQUIRE(ip);
|
|
REQUIRE(ip.value() == "81.31.113.9");
|
|
}
|
|
|
|
TEST_CASE("parse successful port mapping", "[support]") {
|
|
auto xml = read_file(locate_path("data/port-mapping-success.xml"));
|
|
auto r = parse_mapping(xml.c_str(), xml.size());
|
|
REQUIRE(r);
|
|
REQUIRE(r.value() == true);
|
|
}
|
|
|
|
TEST_CASE("parse failed port mapping", "[support]") {
|
|
auto xml = read_file(locate_path("data/soap-failure.xml"));
|
|
auto r = parse_mapping(xml.c_str(), xml.size());
|
|
REQUIRE(r);
|
|
REQUIRE(r.value() == false);
|
|
}
|
|
|
|
TEST_CASE("parse failed port unmapping", "[support]") {
|
|
auto xml = read_file(locate_path("data/port-unmapping-failure.xml"));
|
|
auto r = parse_unmapping(xml.c_str(), xml.size());
|
|
REQUIRE(r);
|
|
REQUIRE(r.value() == false);
|
|
}
|