Add win socket client and server.
This commit is contained in:
parent
426ea55b3b
commit
4d2464c1f5
45 changed files with 1167 additions and 246 deletions
|
@ -3,6 +3,7 @@ add_subdirectory(test_utils)
|
|||
add_subdirectory(fonts)
|
||||
add_subdirectory(geometry)
|
||||
add_subdirectory(graphics)
|
||||
add_subdirectory(network)
|
||||
add_subdirectory(publishing)
|
||||
add_subdirectory(ui_controls)
|
||||
|
||||
|
@ -15,8 +16,7 @@ set(TEST_MODULES
|
|||
core
|
||||
database
|
||||
image
|
||||
ipc
|
||||
network
|
||||
ipc
|
||||
mesh
|
||||
video
|
||||
web
|
||||
|
|
|
@ -1,20 +1,25 @@
|
|||
set(NETWORK_UNIT_TEST_FILES
|
||||
network/TestNetworkManagerClient.cpp
|
||||
network/TestNetworkManagerServer.cpp
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
set(NETWORK_INTEGRATION_TEST_FILES
|
||||
network/TestWin32WebServer.cpp
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
set(NETWORK_UNIT_TEST_DEPENDENCIES
|
||||
network
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
set(NETWORK_INTEGRATION_TEST_DEPENDENCIES
|
||||
network
|
||||
PARENT_SCOPE
|
||||
)
|
||||
set(MODULE_NAME network)
|
||||
|
||||
list(APPEND UNIT_TEST_FILES
|
||||
TestNetworkManagerServer.cpp
|
||||
)
|
||||
|
||||
set(INTEGRATION_TEST_FILES)
|
||||
if (WIN32)
|
||||
list(APPEND INTEGRATION_TEST_FILES
|
||||
TestWin32WebServer.cpp
|
||||
TestWinsockClient.cpp
|
||||
TestWinsockServer.cpp
|
||||
)
|
||||
endif()
|
||||
|
||||
set(UNIT_TEST_TARGET_NAME ${MODULE_NAME}_unit_tests)
|
||||
set(INTEGRATION_TEST_TARGET_NAME ${MODULE_NAME}_integration_tests)
|
||||
|
||||
add_executable(${UNIT_TEST_TARGET_NAME} ${CMAKE_SOURCE_DIR}/test/test_runner.cpp ${UNIT_TEST_FILES})
|
||||
target_link_libraries(${UNIT_TEST_TARGET_NAME} PUBLIC test_utils network)
|
||||
set_property(TARGET ${UNIT_TEST_TARGET_NAME} PROPERTY FOLDER test/${MODULE_NAME})
|
||||
|
||||
add_executable(${INTEGRATION_TEST_TARGET_NAME} ${CMAKE_SOURCE_DIR}/test/test_runner.cpp ${INTEGRATION_TEST_FILES})
|
||||
target_link_libraries(${INTEGRATION_TEST_TARGET_NAME} PUBLIC test_utils network)
|
||||
set_property(TARGET ${INTEGRATION_TEST_TARGET_NAME} PROPERTY FOLDER test/${MODULE_NAME})
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
#include "NetworkManager.h"
|
||||
|
||||
#include "TestFramework.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
TEST_CASE(TestNetworkManagerClient, "network")
|
||||
{
|
||||
auto network_manager = NetworkManager::Create();
|
||||
|
||||
network_manager->runHttpClient();
|
||||
}
|
25
test/network/TestWinsockClient.cpp
Normal file
25
test/network/TestWinsockClient.cpp
Normal file
|
@ -0,0 +1,25 @@
|
|||
#include "NetworkManager.h"
|
||||
|
||||
#include "TestFramework.h"
|
||||
#include "TestUtils.h"
|
||||
|
||||
#include "HttpClient.h"
|
||||
#include "File.h"
|
||||
|
||||
TEST_CASE(TestWinsockClient, "network")
|
||||
{
|
||||
HttpClient client;
|
||||
|
||||
HttpRequest request(HttpRequest::Verb::GET);
|
||||
|
||||
HttpClient::Address address;
|
||||
address.mHost = "127.0.0.1";
|
||||
address.mPort = 8000;
|
||||
|
||||
auto response = client.makeRequest(request, address);
|
||||
|
||||
auto content = response.toString();
|
||||
|
||||
File file(TestUtils::getTestOutputDir(__FILE__) / "get_request.dat");
|
||||
file.writeText(content);
|
||||
}
|
21
test/network/TestWinsockServer.cpp
Normal file
21
test/network/TestWinsockServer.cpp
Normal file
|
@ -0,0 +1,21 @@
|
|||
#include "NetworkManager.h"
|
||||
|
||||
#include "TestFramework.h"
|
||||
#include "TestUtils.h"
|
||||
|
||||
#include "HttpServer.h"
|
||||
#include "BasicWebApp.h"
|
||||
#include "File.h"
|
||||
|
||||
TEST_CASE(TestWinsockServer, "network")
|
||||
{
|
||||
BasicWebApp app;
|
||||
|
||||
HttpServer server;
|
||||
|
||||
HttpServer::Address address;
|
||||
address.mHost = "127.0.0.1";
|
||||
address.mPort = 8000;
|
||||
|
||||
server.run(&app, address);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue