diff --git a/tests/unittests/backup_ext/ext_extension_test.cpp b/tests/unittests/backup_ext/ext_extension_test.cpp index 204661ec83771f82215ab871895d752ab9aaaeda..ca36c7b7cf94eda09be614e2227244af64c77c4d 100644 --- a/tests/unittests/backup_ext/ext_extension_test.cpp +++ b/tests/unittests/backup_ext/ext_extension_test.cpp @@ -592,4 +592,66 @@ HWTEST_F(ExtExtensionTest, Ext_Extension_Test_1000, testing::ext::TestSize.Level } GTEST_LOG_(INFO) << "ExtExtensionTest-end Ext_Extension_Test_1000"; } + +/** + * @tc.number: SUB_Ext_Extension_1100 + * @tc.name: Ext_Extension_Test_1100 + * @tc.desc: 测试 GetFileHandleForSpecialCloneCloud + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9P3Y3 + */ +HWTEST_F(ExtExtensionTest, Ext_Extension_Test_1100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ExtExtensionTest-begin Ext_Extension_Test_1100"; + try { + ErrCode errCode = ERR_OK; + int64_t cost = 0; + uint32_t includeNum = 0; + uint32_t excludeNum = 0; + AppRadar::DoBackupInfo backupInfo = {cost, 0, 0, 0, includeNum, excludeNum}; + RecordDoBackupRes(BUNDLE_NAME, errCode, backupInfo); + + cost = BConstants::MAX_TIME_COST; + includeNum = BConstants::MAX_INEXCLUDE_SIZE; + backupInfo = {cost, 0, 0, 0, includeNum, excludeNum}; + RecordDoBackupRes(BUNDLE_NAME, errCode, backupInfo); + + errCode = BError(BError::Codes::EXT_BROKEN_IPC); + RecordDoBackupRes(BUNDLE_NAME, errCode, backupInfo); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ExtExtensionTest-an exception occurred by construction."; + } + GTEST_LOG_(INFO) << "ExtExtensionTest-end Ext_Extension_Test_1100"; +} + +/** + * @tc.number: SUB_Ext_Extension_1200 + * @tc.name: Ext_Extension_Test_1200 + * @tc.desc: 测试 GetFileHandleForSpecialCloneCloud + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9P3Y3 + */ +HWTEST_F(ExtExtensionTest, Ext_Extension_Test_1200, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ExtExtensionTest-begin Ext_Extension_Test_1200"; + try { + const string fileName = "1.txt"; + string tarName = "2.tar"; + auto ret = GetIncrementalFileHandlePath(fileName, BUNDLE_NAME, tarName); + EXPECT_NE(ret, ERR_OK); + ret = GetIncrementalFileHandlePath(fileName, BConstants::BUNDLE_FILE_MANAGER, tarName); + EXPECT_NE(ret, ERR_OK); + ret = GetIncrementalFileHandlePath(fileName, BConstants::BUNDLE_MEDIAL_DATA, tarName); + EXPECT_NE(ret, ERR_OK); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ExtExtensionTest-an exception occurred by construction."; + } + GTEST_LOG_(INFO) << "ExtExtensionTest-end Ext_Extension_Test_1200"; +} } // namespace OHOS::FileManagement::Backup \ No newline at end of file diff --git a/tests/unittests/backup_sa/module_ipc/svc_session_manager_test.cpp b/tests/unittests/backup_sa/module_ipc/svc_session_manager_test.cpp index 00fb5bd643b5c4cd264b856c3bec1c72322479a0..54519072fce8a18172047c73678f99c7fbc71a86 100644 --- a/tests/unittests/backup_sa/module_ipc/svc_session_manager_test.cpp +++ b/tests/unittests/backup_sa/module_ipc/svc_session_manager_test.cpp @@ -2091,5 +2091,114 @@ HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_Exception_0200, testing::e } GTEST_LOG_(INFO) << "SvcSessionManagerTest-end SUB_backup_sa_session_Exception_0200"; } + +/** + * @tc.number: SUB_backup_sa_session_Exception_0300 + * @tc.name: SUB_backup_sa_session_Exception_0300 + * @tc.desc: 测试 Exception + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_Exception_0300, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "SvcSessionManagerTest-begin SUB_backup_sa_session_Exception_0300"; + try { + EXPECT_TRUE(sessionManagerPtr_ != nullptr); + sessionManagerPtr_->impl_.clientToken = 0; + + sessionManagerPtr_->SetOldBackupVersion(""); + EXPECT_TRUE(true); + + auto result = sessionManagerPtr_->GetOldBackupVersion(); + EXPECT_EQ(result, ""); + + sessionManagerPtr_->SetIsReadyLaunch(BUNDLE_NAME); + EXPECT_TRUE(true); + + sessionManagerPtr_->impl_.clientToken = CLIENT_TOKEN_ID; + sessionManagerPtr_->impl_.backupExtNameMap.clear(); + bool stopFwkTimer = sessionManagerPtr_->StopFwkTimer(BUNDLE_NAME); + EXPECT_EQ(stopFwkTimer, false); + + bool stopExtTimer = sessionManagerPtr_->StopExtTimer(BUNDLE_NAME); + EXPECT_EQ(stopExtTimer, false); + + BIncrementalData incrementalData; + sessionManagerPtr_->SetIncrementalData(incrementalData); + EXPECT_TRUE(true); + + int32_t manifestFd = sessionManagerPtr_->GetIncrementalManifestFd(BUNDLE_NAME); + EXPECT_EQ(manifestFd, BConstants::INVALID_FD_NUM); + + int64_t lastIncrementalTime = sessionManagerPtr_->GetLastIncrementalTime(BUNDLE_NAME); + EXPECT_EQ(lastIncrementalTime, 0); + + uint32_t timeout = sessionManagerPtr_->GetTimeoutValue(BUNDLE_NAME); + EXPECT_EQ(timeout, BConstants::TIMEOUT_INVALID); + + sessionManagerPtr_->SetPublishFlag(BUNDLE_NAME); + EXPECT_TRUE(true); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "SvcSessionManagerTest-an exception occurred by Exception."; + } + GTEST_LOG_(INFO) << "SvcSessionManagerTest-end SUB_backup_sa_session_Exception_0300"; +} + +/** + * @tc.number: SUB_backup_sa_session_GetSessionCallerName_0100 + * @tc.name: SUB_backup_sa_session_GetSessionCallerName_0100 + * @tc.desc: 测试 GetSessionCallerName + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_GetSessionCallerName_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "SvcSessionManagerTest-begin SUB_backup_sa_session_GetSessionCallerName_0100"; + try { + EXPECT_TRUE(sessionManagerPtr_ != nullptr); + sessionManagerPtr_->impl_.clientToken = 0; + auto result = sessionManagerPtr_->GetSessionCallerName(); + EXPECT_EQ(result, ""); + sessionManagerPtr_->impl_.clientToken = CLIENT_TOKEN_ID; + result = sessionManagerPtr_->GetSessionCallerName(); + EXPECT_EQ(result, ""); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "SvcSessionManagerTest-an exception occurred by GetSessionCallerName."; + } + GTEST_LOG_(INFO) << "SvcSessionManagerTest-end SUB_backup_sa_session_GetSessionCallerName_0100"; +} + +/** + * @tc.number: SUB_backup_sa_session_GetSessionActiveTime_0100 + * @tc.name: SUB_backup_sa_session_GetSessionActiveTime_0100 + * @tc.desc: 测试 GetSessionActiveTime + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I6F3GV + */ +HWTEST_F(SvcSessionManagerTest, SUB_backup_sa_session_GetSessionActiveTime_0100, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "SvcSessionManagerTest-begin SUB_backup_sa_session_GetSessionActiveTime_0100"; + try { + EXPECT_TRUE(sessionManagerPtr_ != nullptr); + sessionManagerPtr_->impl_.clientToken = 0; + auto result = sessionManagerPtr_->GetSessionActiveTime(); + EXPECT_EQ(result, ""); + sessionManagerPtr_->impl_.clientToken = CLIENT_TOKEN_ID; + result = sessionManagerPtr_->GetSessionActiveTime(); + EXPECT_EQ(result, ""); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "SvcSessionManagerTest-an exception occurred by GetSessionActiveTime."; + } + GTEST_LOG_(INFO) << "SvcSessionManagerTest-end SUB_backup_sa_session_GetSessionActiveTime_0100"; +} #include "svc_session_manager_ex_test.cpp" } // namespace OHOS::FileManagement::Backup \ No newline at end of file diff --git a/tests/unittests/backup_utils/b_json/b_json_clear_data_config_test.cpp b/tests/unittests/backup_utils/b_json/b_json_clear_data_config_test.cpp index f18f1c1dfdebd816064d9a62852299091f44d4e5..357ff2ada20267731f825c56470a28ea47b62131 100644 --- a/tests/unittests/backup_utils/b_json/b_json_clear_data_config_test.cpp +++ b/tests/unittests/backup_utils/b_json/b_json_clear_data_config_test.cpp @@ -436,12 +436,16 @@ HWTEST_F(BJsonClearDataConfigTest, Clear_Data_Config_Test_0700, testing::ext::Te BJsonClearDataConfig config; EXPECT_EQ(access(filePath.c_str(), F_OK), 0); - EXPECT_CALL(*cJsonMock, cJSON_Parse(_)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Parse(_)).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); auto ret = config.InsertClearBundleRecord(bundleName); EXPECT_FALSE(ret); EXPECT_CALL(*cJsonMock, cJSON_Parse(_)).WillOnce(Return(reinterpret_cast(&cjson))); - EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetArraySize(_)).WillOnce(Return(0)); + EXPECT_CALL(*cJsonMock, cJSON_Parse(_)).WillOnce(Return(nullptr)); EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); ret = config.InsertClearBundleRecord(bundleName); EXPECT_FALSE(ret); @@ -476,19 +480,116 @@ HWTEST_F(BJsonClearDataConfigTest, Clear_Data_Config_Test_0800, testing::ext::Te BJsonClearDataConfig config; EXPECT_EQ(access(filePath.c_str(), F_OK), 0); - EXPECT_CALL(*cJsonMock, cJSON_Parse(_)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Parse(_)).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); auto ret = config.GetAllClearBundleRecords(); - EXPECT_EQ(ret.size(), 0); + EXPECT_TRUE(ret.empty()); EXPECT_CALL(*cJsonMock, cJSON_Parse(_)).WillOnce(Return(reinterpret_cast(&cjson))); - EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetArraySize(_)).WillOnce(Return(0)); EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); ret = config.GetAllClearBundleRecords(); - EXPECT_EQ(ret.size(), 0); + EXPECT_TRUE(ret.empty()); } catch (...) { EXPECT_TRUE(false); GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-an exception occurred by construction."; } GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-end Clear_Data_Config_Test_0800"; } + +/** + * @tc.number: SUB_Clear_Data_Config_Test_0900 + * @tc.name: Clear_Data_Config_Test_0900 + * @tc.desc: 测试 InsertClearBundleRecord 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: IAAMIK + */ +HWTEST_F(BJsonClearDataConfigTest, Clear_Data_Config_Test_0900, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-begin Clear_Data_Config_Test_0900"; + try { + string bundleName = "test1"; + string filePath = PATH + CONFIG_NAME; + int cjson = 0; + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_CreateArray()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_AddItemToObject(_, _, _)).WillOnce(Return(true)); + EXPECT_CALL(*cJsonMock, cJSON_Print(_)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); + BJsonClearDataConfig config; + EXPECT_EQ(access(filePath.c_str(), F_OK), 0); + + EXPECT_CALL(*cJsonMock, cJSON_Parse(_)).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetArraySize(_)).WillOnce(Return(1)).WillOnce(Return(0)); + EXPECT_CALL(*cJsonMock, cJSON_GetArrayItem(_, _)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); + auto ret = config.InsertClearBundleRecord(bundleName); + EXPECT_FALSE(ret); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-an exception occurred by construction."; + } + GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-end Clear_Data_Config_Test_0900"; +} + +/** + * @tc.number: SUB_Clear_Data_Config_Test_1000 + * @tc.name: Clear_Data_Config_Test_1000 + * @tc.desc: 测试 InsertClearBundleRecord 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: IAAMIK + */ +HWTEST_F(BJsonClearDataConfigTest, Clear_Data_Config_Test_1000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-begin Clear_Data_Config_Test_1000"; + try { + string bundleName = "test1"; + string filePath = PATH + CONFIG_NAME; + int cjson = 0; + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_CreateArray()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_AddItemToObject(_, _, _)).WillOnce(Return(true)); + EXPECT_CALL(*cJsonMock, cJSON_Print(_)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); + BJsonClearDataConfig config; + EXPECT_EQ(access(filePath.c_str(), F_OK), 0); + + EXPECT_CALL(*cJsonMock, cJSON_Parse(_)) + .WillOnce(Return(reinterpret_cast(&cjson))) + .WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetArraySize(_)).WillOnce(Return(1)).WillOnce(Return(0)); + EXPECT_CALL(*cJsonMock, cJSON_GetArrayItem(_, _)).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); + auto ret = config.InsertClearBundleRecord(bundleName); + EXPECT_FALSE(ret); + + EXPECT_CALL(*cJsonMock, cJSON_Parse(_)) + .WillOnce(Return(reinterpret_cast(&cjson))) + .WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetArraySize(_)).WillOnce(Return(1)).WillOnce(Return(0)); + EXPECT_CALL(*cJsonMock, cJSON_GetArrayItem(_, _)).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_GetObjectItem(_, _)) + .WillOnce(Return(reinterpret_cast(&cjson))) + .WillOnce(Return(nullptr)) + .WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()).WillOnce(Return()); + ret = config.InsertClearBundleRecord(bundleName); + EXPECT_FALSE(ret); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-an exception occurred by construction."; + } + GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-end Clear_Data_Config_Test_1000"; +} } // namespace OHOS::FileManagement::Backup \ No newline at end of file