14e56987cSopenharmony_ci/* 24e56987cSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 34e56987cSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 44e56987cSopenharmony_ci * you may not use this file except in compliance with the License. 54e56987cSopenharmony_ci * You may obtain a copy of the License at 64e56987cSopenharmony_ci * 74e56987cSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 84e56987cSopenharmony_ci * 94e56987cSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 104e56987cSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 114e56987cSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 124e56987cSopenharmony_ci * See the License for the specific language governing permissions and 134e56987cSopenharmony_ci * limitations under the License. 144e56987cSopenharmony_ci */ 154e56987cSopenharmony_ci 164e56987cSopenharmony_ci#include <gtest/gtest.h> 174e56987cSopenharmony_ci 184e56987cSopenharmony_ci#include "cert_manager_api.h" 194e56987cSopenharmony_ci 204e56987cSopenharmony_ci#include "cm_test_common.h" 214e56987cSopenharmony_ci 224e56987cSopenharmony_ciusing namespace testing::ext; 234e56987cSopenharmony_ciusing namespace CertmanagerTest; 244e56987cSopenharmony_cinamespace { 254e56987cSopenharmony_cistatic constexpr uint32_t DEFAULT_INDATA_SIZE = 10; 264e56987cSopenharmony_cistatic constexpr uint32_t DEFAULT_HANDLE_SIZE = 8; 274e56987cSopenharmony_ci 284e56987cSopenharmony_ciclass CmUpdateTest : public testing::Test { 294e56987cSopenharmony_cipublic: 304e56987cSopenharmony_ci static void SetUpTestCase(void); 314e56987cSopenharmony_ci 324e56987cSopenharmony_ci static void TearDownTestCase(void); 334e56987cSopenharmony_ci 344e56987cSopenharmony_ci void SetUp(); 354e56987cSopenharmony_ci 364e56987cSopenharmony_ci void TearDown(); 374e56987cSopenharmony_ci}; 384e56987cSopenharmony_ci 394e56987cSopenharmony_civoid CmUpdateTest::SetUpTestCase(void) 404e56987cSopenharmony_ci{ 414e56987cSopenharmony_ci SetATPermission(); 424e56987cSopenharmony_ci} 434e56987cSopenharmony_ci 444e56987cSopenharmony_civoid CmUpdateTest::TearDownTestCase(void) 454e56987cSopenharmony_ci{ 464e56987cSopenharmony_ci} 474e56987cSopenharmony_ci 484e56987cSopenharmony_civoid CmUpdateTest::SetUp() 494e56987cSopenharmony_ci{ 504e56987cSopenharmony_ci} 514e56987cSopenharmony_ci 524e56987cSopenharmony_civoid CmUpdateTest::TearDown() 534e56987cSopenharmony_ci{ 544e56987cSopenharmony_ci} 554e56987cSopenharmony_ci 564e56987cSopenharmony_cistatic const uint8_t g_inDataBuf[DEFAULT_INDATA_SIZE] = {0}; 574e56987cSopenharmony_cistatic const uint8_t g_handleBuf[DEFAULT_HANDLE_SIZE] = {0}; 584e56987cSopenharmony_cistatic const struct CmBlob g_inData = { DEFAULT_INDATA_SIZE, (uint8_t *)g_inDataBuf }; 594e56987cSopenharmony_cistatic const struct CmBlob g_handle = { DEFAULT_HANDLE_SIZE, (uint8_t *)g_handleBuf }; 604e56987cSopenharmony_ci 614e56987cSopenharmony_ci/** 624e56987cSopenharmony_ci* @tc.name: CmUpdateTest001 634e56987cSopenharmony_ci* @tc.desc: Test CmIsAuthorizedApp handle is null 644e56987cSopenharmony_ci* @tc.type: FUNC 654e56987cSopenharmony_ci* @tc.require: AR000H0MIA /SR000H09NA 664e56987cSopenharmony_ci*/ 674e56987cSopenharmony_ciHWTEST_F(CmUpdateTest, CmUpdateTest001, TestSize.Level0) 684e56987cSopenharmony_ci{ 694e56987cSopenharmony_ci struct CmBlob *handle = nullptr; 704e56987cSopenharmony_ci int32_t ret = CmUpdate(handle, &g_inData); 714e56987cSopenharmony_ci EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 724e56987cSopenharmony_ci} 734e56987cSopenharmony_ci 744e56987cSopenharmony_ci/** 754e56987cSopenharmony_ci * @tc.name: CmUpdateTest002 764e56987cSopenharmony_ci * @tc.desc: Test CmIsAuthorizedApp handle size is 0 774e56987cSopenharmony_ci * @tc.type: FUNC 784e56987cSopenharmony_ci * @tc.require: AR000H0MIA /SR000H09NA 794e56987cSopenharmony_ci */ 804e56987cSopenharmony_ciHWTEST_F(CmUpdateTest, CmUpdateTest002, TestSize.Level0) 814e56987cSopenharmony_ci{ 824e56987cSopenharmony_ci struct CmBlob handle = { 0, (uint8_t *)g_handleBuf }; 834e56987cSopenharmony_ci int32_t ret = CmUpdate(&handle, &g_inData); 844e56987cSopenharmony_ci EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 854e56987cSopenharmony_ci} 864e56987cSopenharmony_ci 874e56987cSopenharmony_ci/** 884e56987cSopenharmony_ci * @tc.name: CmUpdateTest003 894e56987cSopenharmony_ci * @tc.desc: Test CmIsAuthorizedApp handle data is null 904e56987cSopenharmony_ci * @tc.type: FUNC 914e56987cSopenharmony_ci * @tc.require: AR000H0MIA /SR000H09NA 924e56987cSopenharmony_ci */ 934e56987cSopenharmony_ciHWTEST_F(CmUpdateTest, CmUpdateTest003, TestSize.Level0) 944e56987cSopenharmony_ci{ 954e56987cSopenharmony_ci struct CmBlob handle = { DEFAULT_HANDLE_SIZE, nullptr }; 964e56987cSopenharmony_ci int32_t ret = CmUpdate(&handle, &g_inData); 974e56987cSopenharmony_ci EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 984e56987cSopenharmony_ci} 994e56987cSopenharmony_ci 1004e56987cSopenharmony_ci/** 1014e56987cSopenharmony_ci* @tc.name: CmUpdateTest004 1024e56987cSopenharmony_ci* @tc.desc: Test CmIsAuthorizedApp inData is null 1034e56987cSopenharmony_ci* @tc.type: FUNC 1044e56987cSopenharmony_ci* @tc.require: AR000H0MIA /SR000H09NA 1054e56987cSopenharmony_ci*/ 1064e56987cSopenharmony_ciHWTEST_F(CmUpdateTest, CmUpdateTest004, TestSize.Level0) 1074e56987cSopenharmony_ci{ 1084e56987cSopenharmony_ci struct CmBlob *inData = nullptr; 1094e56987cSopenharmony_ci int32_t ret = CmUpdate(&g_handle, inData); 1104e56987cSopenharmony_ci EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 1114e56987cSopenharmony_ci} 1124e56987cSopenharmony_ci 1134e56987cSopenharmony_ci/** 1144e56987cSopenharmony_ci * @tc.name: CmUpdateTest005 1154e56987cSopenharmony_ci * @tc.desc: Test CmIsAuthorizedApp inData size is 0 1164e56987cSopenharmony_ci * @tc.type: FUNC 1174e56987cSopenharmony_ci * @tc.require: AR000H0MIA /SR000H09NA 1184e56987cSopenharmony_ci */ 1194e56987cSopenharmony_ciHWTEST_F(CmUpdateTest, CmUpdateTest005, TestSize.Level0) 1204e56987cSopenharmony_ci{ 1214e56987cSopenharmony_ci struct CmBlob inData = { 0, (uint8_t *)g_inDataBuf }; 1224e56987cSopenharmony_ci int32_t ret = CmUpdate(&g_handle, &inData); 1234e56987cSopenharmony_ci EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 1244e56987cSopenharmony_ci} 1254e56987cSopenharmony_ci 1264e56987cSopenharmony_ci/** 1274e56987cSopenharmony_ci* @tc.name: CmUpdateTest006 1284e56987cSopenharmony_ci* @tc.desc: Test CmIsAuthorizedApp inData data is null 1294e56987cSopenharmony_ci* @tc.type: FUNC 1304e56987cSopenharmony_ci* @tc.require: AR000H0MIA /SR000H09NA 1314e56987cSopenharmony_ci*/ 1324e56987cSopenharmony_ciHWTEST_F(CmUpdateTest, CmUpdateTest006, TestSize.Level0) 1334e56987cSopenharmony_ci{ 1344e56987cSopenharmony_ci struct CmBlob inData = { DEFAULT_INDATA_SIZE, nullptr }; 1354e56987cSopenharmony_ci int32_t ret = CmUpdate(&g_handle, &inData); 1364e56987cSopenharmony_ci EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 1374e56987cSopenharmony_ci} 1384e56987cSopenharmony_ci 1394e56987cSopenharmony_ci/** 1404e56987cSopenharmony_ci* @tc.name: CmUpdateTest007 1414e56987cSopenharmony_ci* @tc.desc: Test CmIsAuthorizedApp handle not exist 1424e56987cSopenharmony_ci* @tc.type: FUNC 1434e56987cSopenharmony_ci* @tc.require: AR000H0MIA /SR000H09NA 1444e56987cSopenharmony_ci*/ 1454e56987cSopenharmony_ciHWTEST_F(CmUpdateTest, CmUpdateTest007, TestSize.Level0) 1464e56987cSopenharmony_ci{ 1474e56987cSopenharmony_ci int32_t ret = CmUpdate(&g_handle, &g_inData); 1484e56987cSopenharmony_ci EXPECT_EQ(ret, CMR_ERROR_NOT_EXIST); 1494e56987cSopenharmony_ci} 1504e56987cSopenharmony_ci} // end of namespace 151