#include "pch.h" #include "CppUnitTest.h" #include "../NetTunnelSDK/tunnel.h" #include "../NetTunnelSDK/usrerr.h" #include "../NetTunnelSDK/misc.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace TestNetTunnelSDK { TEST_MODULE_INITIALIZE(ModuleInitialize) { Logger::WriteMessage("In Module Initialize"); TunnelSDKInitEnv( TEXT("C:\\Users\\HuangXin\\Documents\\development\\visual_studio\\tunnel_windows\\NetTunnelApp\\bin\\Debug")); InitTunnelSDKLog(TEXT("C:\\Users\\HuangXin\\Documents\\development\\visual_studio\\tunnel_" "windows\\NetTunnelApp\\bin\\Debug\\utest.log"), LOG_DEBUG); } TEST_MODULE_CLEANUP(ModuleCleanup) { Logger::WriteMessage("In Module Cleanup"); TunnelSDKUnInit(); } TEST_CLASS(TestNetTunnelSDK) { public: const int RET_OK = ERR_SUCCESS; TEST_METHOD(TestFindWireguardExe) { Assert::AreEqual(RET_OK, FindWireguardExe(nullptr, 0)); } TEST_METHOD(TestSetWireguardPath) { Assert::AreEqual(RET_OK, SetWireguardPath(TEXT("C:\\Program Files\\WireGuard\\wireguard.exe"))); } TEST_METHOD(TestRunPipeCmd) { #if 0 TCHAR buf[1024]; int ret = ERR_SUCCESS; Assert::AreEqual(ret, RunCommand(TEXT("cmd.exe /C dir E:\\"), buf, 1024)); Logger::WriteMessage("Return:"); Logger::WriteMessage(buf); #endif } TEST_METHOD(TestGetAllNICInfo) { PNIC_CONTENT pInfo = (PNIC_CONTENT)malloc(sizeof(NIC_CONTENT) * 32); int size = 0; Assert::AreEqual(RET_OK, GetAllNICInfo(pInfo, &size)); free(pInfo); } TEST_METHOD(TestSetInterfaceIpAddressFromCIDR) { Assert::AreEqual( RET_OK, SetInterfaceIpAddressFromCIDR(TEXT("wg_server"), TEXT("192.168.100.250/24"))); } TEST_METHOD(TestSetInterfaceIpAddress) { Assert::AreEqual( RET_OK, SetInterfaceIpAddress(TEXT("wg_server"), TEXT("192.168.101.250"), TEXT("255.255.0.0"))); } TEST_METHOD(TestGetInterfaceIndexByName) { int index; Assert::AreEqual(RET_OK, GetInterfaceIndexByName(TEXT("wg_server"), &index)); } TEST_METHOD(TestRemoveInterfaceIpAddress) { Assert::AreEqual(RET_OK, RemoveInterfaceIpAddress(TEXT("wg_server"))); } TEST_METHOD(TestGetWindowsHyperVStatus) { int enable; Assert::AreEqual(RET_OK, GetWindowsHyperVStatus(&enable)); Assert::AreEqual(TRUE, enable); } }; }