transm/test/Cmd.cxx

53 lines
1.1 KiB
C++
Raw Normal View History

#include <catch_amalgamated.hpp>
#include <cstdint>
#include "../client/client.h"
#include "../client/config.h"
#include "../server/server.h"
#include "assistant.h"
std::shared_ptr<TransmServer> server;
std::shared_ptr<TransmClient> clientA;
std::shared_ptr<TransmClient> clientB;
std::shared_ptr<ClientConfig> config;
asio::io_context server_context;
constexpr char* ip = "127.0.0.1";
constexpr unsigned short port = 9897;
bool server_suc = false;
void server_run()
{
server = std::make_shared<TransmServer>(server_context);
if (!server->start(port)) {
server_suc = false;
return;
}
server_suc = true;
server_context.run();
}
bool main_test()
{
config = std::make_shared<ClientConfig>();
if (!config->baseInit()) {
return false;
}
std::thread server_th(server_run);
if (value_wait(server_suc, true, std::equal_to<bool>(), 3000, 100) == false) {
server_th.join();
return false;
}
return true;
}
TEST_CASE("transm cmd part", "[cmd]")
{
SECTION("correctness of cmd")
{
REQUIRE(main_test() == true);
}
}