1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16#include <gtest/gtest.h> 17 18#include "cert_manager_api.h" 19 20#include "cm_test_common.h" 21 22using namespace testing::ext; 23using namespace CertmanagerTest; 24namespace { 25static constexpr uint32_t DEFAULT_INDATA_SIZE = 10; 26static constexpr uint32_t DEFAULT_HANDLE_SIZE = 8; 27 28class CmUpdateTest : public testing::Test { 29public: 30 static void SetUpTestCase(void); 31 32 static void TearDownTestCase(void); 33 34 void SetUp(); 35 36 void TearDown(); 37}; 38 39void CmUpdateTest::SetUpTestCase(void) 40{ 41 SetATPermission(); 42} 43 44void CmUpdateTest::TearDownTestCase(void) 45{ 46} 47 48void CmUpdateTest::SetUp() 49{ 50} 51 52void CmUpdateTest::TearDown() 53{ 54} 55 56static const uint8_t g_inDataBuf[DEFAULT_INDATA_SIZE] = {0}; 57static const uint8_t g_handleBuf[DEFAULT_HANDLE_SIZE] = {0}; 58static const struct CmBlob g_inData = { DEFAULT_INDATA_SIZE, (uint8_t *)g_inDataBuf }; 59static const struct CmBlob g_handle = { DEFAULT_HANDLE_SIZE, (uint8_t *)g_handleBuf }; 60 61/** 62* @tc.name: CmUpdateTest001 63* @tc.desc: Test CmIsAuthorizedApp handle is null 64* @tc.type: FUNC 65* @tc.require: AR000H0MIA /SR000H09NA 66*/ 67HWTEST_F(CmUpdateTest, CmUpdateTest001, TestSize.Level0) 68{ 69 struct CmBlob *handle = nullptr; 70 int32_t ret = CmUpdate(handle, &g_inData); 71 EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 72} 73 74/** 75 * @tc.name: CmUpdateTest002 76 * @tc.desc: Test CmIsAuthorizedApp handle size is 0 77 * @tc.type: FUNC 78 * @tc.require: AR000H0MIA /SR000H09NA 79 */ 80HWTEST_F(CmUpdateTest, CmUpdateTest002, TestSize.Level0) 81{ 82 struct CmBlob handle = { 0, (uint8_t *)g_handleBuf }; 83 int32_t ret = CmUpdate(&handle, &g_inData); 84 EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 85} 86 87/** 88 * @tc.name: CmUpdateTest003 89 * @tc.desc: Test CmIsAuthorizedApp handle data is null 90 * @tc.type: FUNC 91 * @tc.require: AR000H0MIA /SR000H09NA 92 */ 93HWTEST_F(CmUpdateTest, CmUpdateTest003, TestSize.Level0) 94{ 95 struct CmBlob handle = { DEFAULT_HANDLE_SIZE, nullptr }; 96 int32_t ret = CmUpdate(&handle, &g_inData); 97 EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 98} 99 100/** 101* @tc.name: CmUpdateTest004 102* @tc.desc: Test CmIsAuthorizedApp inData is null 103* @tc.type: FUNC 104* @tc.require: AR000H0MIA /SR000H09NA 105*/ 106HWTEST_F(CmUpdateTest, CmUpdateTest004, TestSize.Level0) 107{ 108 struct CmBlob *inData = nullptr; 109 int32_t ret = CmUpdate(&g_handle, inData); 110 EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 111} 112 113/** 114 * @tc.name: CmUpdateTest005 115 * @tc.desc: Test CmIsAuthorizedApp inData size is 0 116 * @tc.type: FUNC 117 * @tc.require: AR000H0MIA /SR000H09NA 118 */ 119HWTEST_F(CmUpdateTest, CmUpdateTest005, TestSize.Level0) 120{ 121 struct CmBlob inData = { 0, (uint8_t *)g_inDataBuf }; 122 int32_t ret = CmUpdate(&g_handle, &inData); 123 EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 124} 125 126/** 127* @tc.name: CmUpdateTest006 128* @tc.desc: Test CmIsAuthorizedApp inData data is null 129* @tc.type: FUNC 130* @tc.require: AR000H0MIA /SR000H09NA 131*/ 132HWTEST_F(CmUpdateTest, CmUpdateTest006, TestSize.Level0) 133{ 134 struct CmBlob inData = { DEFAULT_INDATA_SIZE, nullptr }; 135 int32_t ret = CmUpdate(&g_handle, &inData); 136 EXPECT_EQ(ret, CMR_ERROR_INVALID_ARGUMENT); 137} 138 139/** 140* @tc.name: CmUpdateTest007 141* @tc.desc: Test CmIsAuthorizedApp handle not exist 142* @tc.type: FUNC 143* @tc.require: AR000H0MIA /SR000H09NA 144*/ 145HWTEST_F(CmUpdateTest, CmUpdateTest007, TestSize.Level0) 146{ 147 int32_t ret = CmUpdate(&g_handle, &g_inData); 148 EXPECT_EQ(ret, CMR_ERROR_NOT_EXIST); 149} 150} // end of namespace 151