diff --git a/frameworks/native/backup_ext/src/ext_backup_js.cpp b/frameworks/native/backup_ext/src/ext_backup_js.cpp index 940961200433214bcee2f44005c3d6ff747c196c..fee000ebfe0e2e0415b0f6512658bb2cb48fa13c 100644 --- a/frameworks/native/backup_ext/src/ext_backup_js.cpp +++ b/frameworks/native/backup_ext/src/ext_backup_js.cpp @@ -35,6 +35,7 @@ #include "napi_remote_object.h" #include "unique_fd.h" +#include "b_anony/b_anony.h" #include "b_error/b_error.h" #include "b_error/b_excep_utils.h" #include "b_json/b_json_cached_entity.h" @@ -839,7 +840,7 @@ std::function &argv)> ExtBackupJs::Pa auto onBackupExFun = [backupExtInfo(backupExtInfo_)](napi_env env, vector &argv) -> bool { napi_value backupExtInfoVal = nullptr; napi_create_object(env, &backupExtInfoVal); - HILOGI("backupExtInfo is:%{public}s", backupExtInfo.c_str()); + HILOGI("backupExtInfo is:%{public}s", GetAnonyString(backupExtInfo).c_str()); napi_create_string_utf8(env, backupExtInfo.c_str(), backupExtInfo.size(), &backupExtInfoVal); argv.push_back(backupExtInfoVal); return true; @@ -851,7 +852,7 @@ std::function &argv)> ExtBackupJs::Pa { auto onRestoreExFun = [appVersionCode(appVersionCode_), appVersionStr(appVersionStr_), restoreExtInfo(restoreExtInfo_)](napi_env env, vector &argv) -> bool { - HILOGI("restoreExtInfo is:%{public}s", restoreExtInfo.c_str()); + HILOGI("restoreExtInfo is:%{public}s", GetAnonyString(restoreExtInfo).c_str()); napi_value objValue = nullptr; napi_value restoreRetValue = nullptr; napi_create_object(env, &objValue); diff --git a/services/backup_sa/src/module_ipc/service_incremental.cpp b/services/backup_sa/src/module_ipc/service_incremental.cpp index 8ce248bc3202327e777cc286d266f305e4e27825..628ff6185014b90881aaa510e6ef54be77d50ed8 100644 --- a/services/backup_sa/src/module_ipc/service_incremental.cpp +++ b/services/backup_sa/src/module_ipc/service_incremental.cpp @@ -657,7 +657,7 @@ void Service::SendUserIdToApp(string &bundleName, int32_t userId) HILOGI("BuildBundleInfoJson failed, bundleName : %{public}s", bundleName.c_str()); return; } - HILOGI("current bundle, unicast info: %{public}s", detailInfo.c_str()); + HILOGI("current bundle, unicast info: %{public}s", GetAnonyString(detailInfo).c_str()); session_->SetBackupExtInfo(bundleName, detailInfo); } 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 d4a18214c1f4225ccccd388f59fdbce5efc41839..b33ae44cfe88224238bdcb80148fb726001bb6a7 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 @@ -191,34 +191,23 @@ HWTEST_F(BJsonUtilTest, b_jsonutil_BuildBundleInfoJson_0401, testing::ext::TestS std::string detailInfo; int cjson = 0; - EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(nullptr)); + EXPECT_CALL(*cJsonMock, cJSON_CreateArray()).WillOnce(Return(nullptr)); bool result = BJsonUtil::BuildBundleInfoJson(userId, detailInfo); EXPECT_FALSE(result); - EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(reinterpret_cast(&cjson))); - EXPECT_CALL(*cJsonMock, cJSON_CreateArray()).WillOnce(nullptr); - EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); - result = BJsonUtil::BuildBundleInfoJson(userId, detailInfo); - EXPECT_FALSE(result); - - EXPECT_CALL(*cJsonMock, cJSON_CreateObject()) - .WillOnce(Return(reinterpret_cast(&cjson))) - .WillOnce(Return(nullptr)); EXPECT_CALL(*cJsonMock, cJSON_CreateArray()).WillOnce(Return(reinterpret_cast(&cjson))); - EXPECT_CALL(*cJsonMock, cJSON_AddItemToObject(_, _, _)).WillOnce(Return(true)); + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(nullptr)); EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); result = BJsonUtil::BuildBundleInfoJson(userId, detailInfo); EXPECT_FALSE(result); - EXPECT_CALL(*cJsonMock, cJSON_CreateObject()) + EXPECT_CALL(*cJsonMock, cJSON_CreateArray()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_CreateObject()).WillOnce(Return(reinterpret_cast(&cjson))); + EXPECT_CALL(*cJsonMock, cJSON_AddStringToObject(_, _, _)) .WillOnce(Return(reinterpret_cast(&cjson))) .WillOnce(Return(reinterpret_cast(&cjson))); - EXPECT_CALL(*cJsonMock, cJSON_CreateArray()) - .WillOnce(Return(reinterpret_cast(&cjson))) - .WillOnce(Return(nullptr)); - EXPECT_CALL(*cJsonMock, cJSON_AddItemToObject(_, _, _)).WillOnce(Return(true)); - EXPECT_CALL(*cJsonMock, cJSON_AddStringToObject(_, _, _)).WillOnce(Return(reinterpret_cast(&cjson))); EXPECT_CALL(*cJsonMock, cJSON_AddItemToArray(_, _)).WillOnce(Return(true)); + EXPECT_CALL(*cJsonMock, cJSON_Print(_)).WillOnce(Return(nullptr)); EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); result = BJsonUtil::BuildBundleInfoJson(userId, detailInfo); EXPECT_FALSE(result); @@ -229,65 +218,6 @@ HWTEST_F(BJsonUtilTest, b_jsonutil_BuildBundleInfoJson_0401, testing::ext::TestS GTEST_LOG_(INFO) << "BJsonUtilTest-end BuildBundleInfoJson_0401"; } -/** - * @tc.number: b_jsonutil_BuildBundleInfoJson_0402 - * @tc.name: b_jsonutil_BuildBundleInfoJson_0402 - * @tc.desc: Test function of BuildBundleInfoJson interface. - * @tc.size: MEDIUM - * @tc.type: FUNC - * @tc.level Level 0 - * @tc.require: I6F3GV - */ -HWTEST_F(BJsonUtilTest, b_jsonutil_BuildBundleInfoJson_0402, testing::ext::TestSize.Level0) -{ - GTEST_LOG_(INFO) << "BJsonUtilTest-begin BuildBundleInfoJson_0402"; - try { - int32_t userId = 100; - std::string detailInfo; - int cjson = 0; - - EXPECT_CALL(*cJsonMock, cJSON_CreateObject()) - .WillOnce(Return(reinterpret_cast(&cjson))) - .WillOnce(Return(reinterpret_cast(&cjson))) - .WillOnce(Return(nullptr)); - EXPECT_CALL(*cJsonMock, cJSON_CreateArray()) - .WillOnce(Return(reinterpret_cast(&cjson))) - .WillOnce(Return(reinterpret_cast(&cjson))); - EXPECT_CALL(*cJsonMock, cJSON_AddItemToObject(_, _, _)) - .WillOnce(Return(true)) - .WillOnce(Return(true)); - EXPECT_CALL(*cJsonMock, cJSON_AddStringToObject(_, _, _)).WillOnce(Return(reinterpret_cast(&cjson))); - EXPECT_CALL(*cJsonMock, cJSON_AddItemToArray(_, _)).WillOnce(Return(true)); - EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); - bool result = BJsonUtil::BuildBundleInfoJson(userId, detailInfo); - 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_CreateArray()) - .WillOnce(Return(reinterpret_cast(&cjson))) - .WillOnce(Return(reinterpret_cast(&cjson))); - EXPECT_CALL(*cJsonMock, cJSON_AddItemToObject(_, _, _)) - .WillOnce(Return(true)) - .WillOnce(Return(true)); - EXPECT_CALL(*cJsonMock, cJSON_AddStringToObject(_, _, _)) - .WillOnce(Return(reinterpret_cast(&cjson))) - .WillOnce(Return(reinterpret_cast(&cjson))) - .WillOnce(Return(reinterpret_cast(&cjson))); - EXPECT_CALL(*cJsonMock, cJSON_AddItemToArray(_, _)).WillOnce(Return(true)).WillOnce(Return(true)); - EXPECT_CALL(*cJsonMock, cJSON_Delete(_)).WillOnce(Return()); - EXPECT_CALL(*cJsonMock, cJSON_Print(_)).WillOnce(Return(nullptr)); - result = BJsonUtil::BuildBundleInfoJson(userId, detailInfo); - EXPECT_FALSE(result); - } catch (...) { - EXPECT_TRUE(false); - GTEST_LOG_(INFO) << "BJsonUtilTest-an exception occurred."; - } - GTEST_LOG_(INFO) << "BJsonUtilTest-end BuildBundleInfoJson_0402"; -} - /** * @tc.number: b_jsonutil_BuildOnProcessErrInfo_0501 * @tc.name: b_jsonutil_BuildOnProcessErrInfo_0501 diff --git a/utils/src/b_jsonutil/b_jsonutil.cpp b/utils/src/b_jsonutil/b_jsonutil.cpp index c3cde0b611c047d2715a91e0ab866f9eea6ac7a2..57dfbeb03d16dbd21c4088d253fca60059482696 100644 --- a/utils/src/b_jsonutil/b_jsonutil.cpp +++ b/utils/src/b_jsonutil/b_jsonutil.cpp @@ -209,7 +209,8 @@ static void InsertBundleDetailInfo(cJSON *infos, int infosCount, HILOGE("creat json error"); return; } - const char *const zeroUserId = static_cast(to_string(userId).c_str()); + string userIdstr = to_string(userId); + const char *const zeroUserId = userIdstr.c_str(); cJSON_AddStringToObject(detail, "type", "userId"); cJSON_AddStringToObject(detail, "detail", zeroUserId); cJSON_AddItemToArray(details, detail); @@ -412,45 +413,27 @@ bool BJsonUtil::BuildOnProcessErrInfo(std::string &reportInfo, std::string path, bool BJsonUtil::BuildBundleInfoJson(int32_t userId, string &detailInfo) { - cJSON *root = cJSON_CreateObject(); - if (root == nullptr) { - return false; - } cJSON *infos = cJSON_CreateArray(); if (infos == nullptr) { - cJSON_Delete(root); return false; } - cJSON_AddItemToObject(root, "infos", infos); cJSON *info = cJSON_CreateObject(); if (info == nullptr) { - cJSON_Delete(root); + cJSON_Delete(infos); return false; } - cJSON_AddStringToObject(info, "type", "unicast"); + string userIdstr = to_string(userId); + const char *const zeroUserId = userIdstr.c_str(); + cJSON_AddStringToObject(info, "type", "userId"); + cJSON_AddStringToObject(info, "detail", zeroUserId); cJSON_AddItemToArray(infos, info); - cJSON *details = cJSON_CreateArray(); - if (details == nullptr) { - cJSON_Delete(root); - return false; - } - cJSON_AddItemToObject(info, "details", details); - cJSON *detail = cJSON_CreateObject(); - if (detail == nullptr) { - cJSON_Delete(root); - return false; - } - const char *const zeroUserId = static_cast(to_string(userId).c_str()); - cJSON_AddStringToObject(detail, "type", "userId"); - cJSON_AddStringToObject(detail, "detail", zeroUserId); - cJSON_AddItemToArray(details, detail); - char *jsonStr = cJSON_Print(root); + char *jsonStr = cJSON_Print(infos); if (jsonStr == nullptr) { - cJSON_Delete(root); + cJSON_Delete(infos); return false; } detailInfo = string(jsonStr); - cJSON_Delete(root); + cJSON_Delete(infos); free(jsonStr); return true; }