NetTunnelWindows/TestNetTunnelSDK/TestNetTunnelSDK.cpp

94 lines
2.9 KiB
C++
Raw Normal View History

#include "pch.h"
#include "CppUnitTest.h"
#include "../NetTunnelSDK/tunnel.h"
#include "../NetTunnelSDK/usrerr.h"
#include "../NetTunnelSDK/misc.h"
#include "../NetTunnelSDK/globalcfg.h"
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
2023-06-21 10:04:16 +00:00
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"));
2023-06-21 10:04:16 +00:00
InitTunnelSDKLog(TEXT("C:\\Users\\HuangXin\\Documents\\development\\visual_studio\\tunnel_"
"windows\\NetTunnelApp\\bin\\Debug\\utest.log"),
LOG_DEBUG);
}
2023-06-21 10:04:16 +00:00
TEST_MODULE_CLEANUP(ModuleCleanup) {
Logger::WriteMessage("In Module Cleanup");
TunnelSDKUnInit();
}
2023-06-21 10:04:16 +00:00
TEST_CLASS(TestNetTunnelSDK) {
public:
const int RET_OK = ERR_SUCCESS;
2023-06-21 10:04:16 +00:00
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")));
}
2023-06-21 10:04:16 +00:00
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
2023-06-21 10:04:16 +00:00
}
2023-06-21 10:04:16 +00:00
TEST_METHOD(TestGetAllNICInfo) {
PNIC_CONTENT pInfo = (PNIC_CONTENT)malloc(sizeof(NIC_CONTENT) * 32);
2023-06-21 10:04:16 +00:00
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")));
2023-06-21 10:04:16 +00:00
}
TEST_METHOD(TestGetInterfaceIndexByName) {
int index;
Assert::AreEqual(RET_OK, GetInterfaceIndexByName(TEXT("wg_server"), &index));
}
TEST_METHOD(TestRemoveInterfaceIpAddress) {
2023-06-21 10:04:16 +00:00
Assert::AreEqual(RET_OK, RemoveInterfaceIpAddress(TEXT("wg_server")));
}
TEST_METHOD(TestGetWindowsHyperVStatus) {
int enable;
Assert::AreEqual(RET_OK, GetWindowsHyperVStatus(&enable));
Assert::AreEqual(TRUE, enable);
}
TEST_METHOD(TestInstallWindowsNATCommand) {
Assert::AreEqual(RET_OK, InstallWindowsNATCommand());
}
TEST_METHOD(TestCalcFileHash) {
TCHAR outHash[MAX_PATH] = {0};
Assert::AreEqual(RET_OK, CalcFileHash(HASH_SHA256, TEXT("E:\\wireguard.psm1"), outHash));
Assert::AreEqual(TEXT("3ef17a2eb23a148a3fbe14cb4ef38747e0a1e5037b6afa2350a9b18f617bb5db"), outHash);
}
2023-06-21 10:04:16 +00:00
};
}