#include #include #include #include #include #include #include #include "common.h" #pragma comment(lib, "Wintrust.lib") TEST_CASE("WilWintrustWrapperTest::VerifyWintrustDataAllocateAndFree", "[resource][wintrust]") { wil::unique_wintrust_data uwvtData; uwvtData.cbStruct = sizeof(WINTRUST_DATA); DWORD zero = 0; REQUIRE(sizeof(WINTRUST_DATA) == uwvtData.cbStruct); uwvtData.reset(); REQUIRE(zero == uwvtData.cbStruct); } TEST_CASE("WilWintrustWrapperTest::VerifyUniqueHCATADMINAllocateAndFree", "[resource][wintrust]") { wil::unique_hcatadmin hCatAdmin; REQUIRE( CryptCATAdminAcquireContext2( hCatAdmin.addressof(), nullptr, BCRYPT_SHA256_ALGORITHM, nullptr, 0)); REQUIRE(hCatAdmin.get() != nullptr); hCatAdmin.reset(); REQUIRE(hCatAdmin.get() == nullptr); } #ifdef WIL_ENABLE_EXCEPTIONS TEST_CASE("WilWintrustWrapperTest::VerifyUnqiueHCATINFOAllocate", "[resource][wintrust]") { wil::shared_hcatadmin hCatAdmin; HCATINFO hCatInfo = nullptr; REQUIRE( CryptCATAdminAcquireContext2( hCatAdmin.addressof(), nullptr, BCRYPT_SHA256_ALGORITHM, nullptr, 0)); wil::unique_hcatinfo hCatInfoWrapper(hCatInfo, hCatAdmin); REQUIRE(hCatInfoWrapper.get() == nullptr); } #endif