// Copyright 2020 Google LLC. All Rights Reserved. #include "api/license_whitebox.h" #include #include "api/test_data.h" #include "testing/include/gtest/gtest.h" namespace { class LicenseWhiteboxCreateTest : public ::testing::Test { protected: void SetUp() override { init_data_ = GetLicenseInitData(); ASSERT_GT(init_data_.size(), 0u); } void TearDown() override { WB_License_Delete(whitebox_); } WB_License_Whitebox* whitebox_ = nullptr; std::vector init_data_; }; TEST_F(LicenseWhiteboxCreateTest, Succeeds) { ASSERT_EQ(WB_License_Create(init_data_.data(), init_data_.size(), &whitebox_), WB_RESULT_OK); ASSERT_TRUE(whitebox_); } TEST_F(LicenseWhiteboxCreateTest, InvalidParameterForNullInitData) { ASSERT_EQ(WB_License_Create(nullptr, init_data_.size(), &whitebox_), WB_RESULT_INVALID_PARAMETER); ASSERT_FALSE(whitebox_); } TEST_F(LicenseWhiteboxCreateTest, InvalidParameterForZeroInitDataSize) { ASSERT_EQ(WB_License_Create(init_data_.data(), 0, &whitebox_), WB_RESULT_INVALID_PARAMETER); ASSERT_FALSE(whitebox_); } TEST_F(LicenseWhiteboxCreateTest, InvalidParameterForInvalidInitData) { const std::vector invalid_init_data = GetInvalidLicenseInitData(); ASSERT_EQ(WB_License_Create(invalid_init_data.data(), invalid_init_data.size(), &whitebox_), WB_RESULT_INVALID_PARAMETER); ASSERT_FALSE(whitebox_); } TEST_F(LicenseWhiteboxCreateTest, InvalidParameterForNullWhitebox) { ASSERT_EQ(WB_License_Create(init_data_.data(), init_data_.size(), nullptr), WB_RESULT_INVALID_PARAMETER); } } // namespace