diff --git a/tests/unittests/backup_ext/ext_extension_test.cpp b/tests/unittests/backup_ext/ext_extension_test.cpp index 906817edfa998cd2541877ebc7473412acf76985..9a73d1a97b1b0b50e0106cbf8a477b3808972fd8 100644 --- a/tests/unittests/backup_ext/ext_extension_test.cpp +++ b/tests/unittests/backup_ext/ext_extension_test.cpp @@ -589,4 +589,30 @@ HWTEST_F(ExtExtensionTest, Ext_Extension_Test_0900, testing::ext::TestSize.Level } GTEST_LOG_(INFO) << "ExtExtensionTest-end Ext_Extension_Test_0900"; } + +/** + * @tc.number: SUB_Ext_Extension_1000 + * @tc.name: Ext_Extension_Test_1000 + * @tc.desc: 测试 GetFileHandleForSpecialCloneCloud + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: I9P3Y3 + */ +HWTEST_F(ExtExtensionTest, Ext_Extension_Test_1000, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "ExtExtensionTest-begin Ext_Extension_Test_1000"; + try { + std::string fileName = "test.txt"; + auto ret = GetIncreFileHandleForSpecialVersion(fileName); + EXPECT_EQ(ret, ERR_OK); + fileName = "/test.txt"; + ret = GetIncreFileHandleForSpecialVersion(fileName); + EXPECT_EQ(ret, ERR_OK); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "ExtExtensionTest-an exception occurred by construction."; + } + GTEST_LOG_(INFO) << "ExtExtensionTest-end Ext_Extension_Test_1000"; +} } // 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 1c4672ed61430ecd9c16ccb7c03c51c8d102944d..f18f1c1dfdebd816064d9a62852299091f44d4e5 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 @@ -411,4 +411,84 @@ HWTEST_F(BJsonClearDataConfigTest, Clear_Data_Config_Test_0600, testing::ext::Te } GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-end Clear_Data_Config_Test_0600"; } + +/** + * @tc.number: SUB_Clear_Data_Config_Test_0700 + * @tc.name: Clear_Data_Config_Test_0700 + * @tc.desc: 测试 InsertClearBundleRecord 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: IAAMIK + */ +HWTEST_F(BJsonClearDataConfigTest, Clear_Data_Config_Test_0700, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-begin Clear_Data_Config_Test_0700"; + 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(nullptr)); + 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_Delete(_)).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_0700"; +} + +/** + * @tc.number: SUB_Clear_Data_Config_Test_0800 + * @tc.name: Clear_Data_Config_Test_0800 + * @tc.desc: 测试 GetAllClearBundleRecords 接口 + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 1 + * @tc.require: IAAMIK + */ +HWTEST_F(BJsonClearDataConfigTest, Clear_Data_Config_Test_0800, testing::ext::TestSize.Level1) +{ + GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-begin Clear_Data_Config_Test_0800"; + 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(nullptr)); + auto ret = config.GetAllClearBundleRecords(); + EXPECT_EQ(ret.size(), 0); + + 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()); + ret = config.GetAllClearBundleRecords(); + EXPECT_EQ(ret.size(), 0); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-an exception occurred by construction."; + } + GTEST_LOG_(INFO) << "BJsonClearDataConfigTest-end Clear_Data_Config_Test_0800"; +} } // namespace OHOS::FileManagement::Backup \ No newline at end of file diff --git a/tests/unittests/backup_utils/b_jsonutil/b_jsonutil_other_test.cpp b/tests/unittests/backup_utils/b_jsonutil/b_jsonutil_other_test.cpp index 5607da2f35190f1de10cc62f3371e2a45434fd07..d4a18214c1f4225ccccd388f59fdbce5efc41839 100644 --- a/tests/unittests/backup_utils/b_jsonutil/b_jsonutil_other_test.cpp +++ b/tests/unittests/backup_utils/b_jsonutil/b_jsonutil_other_test.cpp @@ -30,6 +30,9 @@ namespace OHOS::FileManagement::Backup { using namespace std; using namespace testing; +namespace { + const static int BUNDLE_INDEX_DEFAULT_VAL = 0; +} class BJsonUtilTest : public testing::Test { public: @@ -284,4 +287,88 @@ HWTEST_F(BJsonUtilTest, b_jsonutil_BuildBundleInfoJson_0402, testing::ext::TestS } GTEST_LOG_(INFO) << "BJsonUtilTest-end BuildBundleInfoJson_0402"; } + +/** + * @tc.number: b_jsonutil_BuildOnProcessErrInfo_0501 + * @tc.name: b_jsonutil_BuildOnProcessErrInfo_0501 + * @tc.desc: Test function of BuildOnProcessErrInfo interface. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: I6F3GV + */ +HWTEST_F(BJsonUtilTest, b_jsonutil_BuildOnProcessErrInfo_0501, testing::ext::TestSize.Level0) +{ + GTEST_LOG_(INFO) << "BJsonUtilTest-begin BuildOnProcessErrInfo_0501"; + try { + std::string reportInfo; + std::string path; + int err = 0; + int cjson = 0; + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(nullptr)); + bool result = BJsonUtil::BuildOnProcessErrInfo(reportInfo, path, err); + EXPECT_FALSE(result); + + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()) + .WillOnce(Return(reinterpret_cast(&cjson))) + .WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); + result = BJsonUtil::BuildOnProcessErrInfo(reportInfo, path, err); + EXPECT_FALSE(result); + + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()) + .WillOnce(Return(reinterpret_cast(&cjson))) + .WillOnce(Return(reinterpret_cast(&cjson))) + .WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()).WillOnce(Return()); + result = BJsonUtil::BuildOnProcessErrInfo(reportInfo, path, err); + EXPECT_FALSE(result); + + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()) + .WillOnce(Return(reinterpret_cast(&cjson))) + .WillOnce(Return(reinterpret_cast(&cjson))) + .WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_AddStringToObject(_, _, _)) + .WillOnce(Return(nullptr)) + .WillOnce(Return(nullptr)) + .WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_AddItemToObject(_, _, _)).WillOnce(Return(true)).WillOnce(Return(true)); + EXPECT_CALL(*cJsonMock, cJSON_Print(_)).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); + result = BJsonUtil::BuildOnProcessErrInfo(reportInfo, path, err); + EXPECT_FALSE(result); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "BJsonUtilTest-an exception occurred."; + } + GTEST_LOG_(INFO) << "BJsonUtilTest-end BuildOnProcessErrInfo_0501"; +} + +/** + * @tc.number: b_jsonutil_BuildBundleNameIndexInfo_0601 + * @tc.name: b_jsonutil_BuildBundleNameIndexInfo_0601 + * @tc.desc: Test function of BuildBundleNameIndexInfo interface. + * @tc.size: MEDIUM + * @tc.type: FUNC + * @tc.level Level 0 + * @tc.require: I6F3GV + */ +HWTEST_F(BJsonUtilTest, b_jsonutil_BuildBundleNameIndexInfo_0601, testing::ext::TestSize.Level0) +{ + GTEST_LOG_(INFO) << "BJsonUtilTest-begin BuildBundleNameIndexInfo_0601"; + try { + std::string bundleName = "test"; + int appIndex = BUNDLE_INDEX_DEFAULT_VAL; + auto ret = BJsonUtil::BuildBundleNameIndexInfo(bundleName, appIndex); + EXPECT_EQ(ret, bundleName); + + appIndex = -1; + ret = BJsonUtil::BuildBundleNameIndexInfo(bundleName, appIndex); + EXPECT_NE(ret, bundleName); + } catch (...) { + EXPECT_TRUE(false); + GTEST_LOG_(INFO) << "BJsonUtilTest-an exception occurred."; + } + GTEST_LOG_(INFO) << "BJsonUtilTest-end BuildBundleNameIndexInfo_0601"; +} } \ No newline at end of file