1 /* 2 * Copyright (c) 2022-2024 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 <iostream> 17 #include <map> 18 #include <sstream> 19 20 #include <gtest/gtest.h> 21 22 #include "b_resources/b_constants.h" 23 #include "tools_op.h" 24 #include "tools_op_incremental_backup.cpp" 25 #include "utils_mock_global_variable.h" 26 27 namespace OHOS::FileManagement::Backup { 28 using namespace std; 29 class ToolsOpIncrementalBackupTest : public testing::Test { 30 public: SetUpTestCase(void)31 static void SetUpTestCase(void) {}; TearDownTestCase()32 static void TearDownTestCase() {}; SetUp()33 void SetUp() {}; TearDown()34 void TearDown() {}; 35 }; 36 37 /** 38 * @tc.number: SUB_backup_tools_op_backup_0100 39 * @tc.name: SUB_backup_tools_op_backup_0100 40 * @tc.desc: 测试backup流程 41 * @tc.size: MEDIUM 42 * @tc.type: FUNC 43 * @tc.level Level 1 44 * @tc.require: I6F3GV 45 */ 46 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_0100, testing::ext::TestSize.Level1) 47 { 48 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_backup_0100"; 49 try { 50 SetMockGetInstance(true); 51 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-info"; 52 map<string, vector<string>> mapArgToVal; 53 string localCap = string(BConstants::GetSaBundleBackupToolDir(BConstants::DEFAULT_USER_ID).data()) + "/tmp"; 54 vector<string> path = { localCap.data() }; 55 mapArgToVal.insert(make_pair("pathCapFile", path)); 56 vector<string> bundles = { "com.example.app2backup" }; 57 mapArgToVal.insert(make_pair("bundles", bundles)); 58 vector<string> incrementalTime = { "0" }; 59 mapArgToVal.insert(make_pair("incrementalTime", incrementalTime)); 60 61 // 尝试匹配当前命令,成功后执行 62 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-backup"; 63 vector<string_view> curOp; 64 curOp.emplace_back("incrementalbackup"); __anon702a50b20102(const ToolsOp &op) 65 auto tryOpSucceed = [&curOp](const ToolsOp &op) { return op.TryMatch(curOp); }; 66 auto &&opeartions = ToolsOp::GetAllOperations(); 67 auto matchedOp = find_if(opeartions.begin(), opeartions.end(), tryOpSucceed); 68 if (matchedOp != opeartions.end()) { 69 auto ret = matchedOp->Execute(mapArgToVal); 70 EXPECT_EQ(ret, 0); 71 } 72 } catch (...) { 73 EXPECT_TRUE(false); 74 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-an exception occurred by construction."; 75 } 76 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_backup_0100"; 77 } 78 79 /** 80 * @tc.number: SUB_backup_tools_op_backup_0200 81 * @tc.name: SUB_backup_tools_op_backup_0200 82 * @tc.desc: 测试Exec分支 83 * @tc.size: MEDIUM 84 * @tc.type: FUNC 85 * @tc.level Level 1 86 * @tc.require: I6F3GV 87 */ 88 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_0200, testing::ext::TestSize.Level1) 89 { 90 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_backup_0200"; 91 try { 92 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-The pathCapFile field is not contained."; 93 map<string, vector<string>> mapArgToVal; 94 vector<string> bundles = {"com.example.app2backup"}; 95 vector<string> path = {"/data/backup/tmp"}; 96 vector<string> incrementalTime = {"0"}; 97 mapArgToVal.insert(make_pair("bundles", bundles)); 98 mapArgToVal.insert(make_pair("incrementalTime", incrementalTime)); 99 100 vector<string_view> curOp; 101 curOp.emplace_back("incrementalbackup"); __anon702a50b20202(const ToolsOp &op) 102 auto tryOpSucceed = [&curOp](const ToolsOp &op) { return op.TryMatch(curOp); }; 103 auto &&opeartions = ToolsOp::GetAllOperations(); 104 auto matchedOp = find_if(opeartions.begin(), opeartions.end(), tryOpSucceed); 105 int ret = 0; 106 if (matchedOp != opeartions.end()) { 107 ret = matchedOp->Execute(mapArgToVal); 108 EXPECT_NE(ret, 0); 109 } 110 111 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-The bundles field is noGt contained."; 112 mapArgToVal.clear(); 113 mapArgToVal.insert(make_pair("pathCapFile", path)); 114 mapArgToVal.insert(make_pair("incrementalTime", incrementalTime)); 115 if (matchedOp != opeartions.end()) { 116 ret = matchedOp->Execute(mapArgToVal); 117 EXPECT_NE(ret, 0); 118 } 119 120 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-The incrementalTime field is noGt contained."; 121 mapArgToVal.clear(); 122 mapArgToVal.insert(make_pair("pathCapFile", path)); 123 mapArgToVal.insert(make_pair("bundles", bundles)); 124 if (matchedOp != opeartions.end()) { 125 ret = matchedOp->Execute(mapArgToVal); 126 EXPECT_NE(ret, 0); 127 } 128 129 GTEST_LOG_(INFO) << "ToolsOpIncrementalRestoreTest-The all fields are not contained."; 130 mapArgToVal.clear(); 131 if (matchedOp != opeartions.end()) { 132 ret = matchedOp->Execute(mapArgToVal); 133 EXPECT_NE(ret, 0); 134 } 135 } catch (...) { 136 EXPECT_TRUE(false); 137 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-an exception occurred by construction."; 138 } 139 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_backup_0200"; 140 } 141 142 /** 143 * @tc.number: SUB_backup_tools_op_backup_0300 144 * @tc.name: SUB_backup_tools_op_backup_0300 145 * @tc.desc: 测试Exec分支 146 * @tc.size: MEDIUM 147 * @tc.type: FUNC 148 * @tc.level Level 1 149 * @tc.require: I6F3GV 150 */ 151 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_0300, testing::ext::TestSize.Level1) 152 { 153 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_backup_0300"; 154 try { 155 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-info"; 156 map<string, vector<string>> mapArgToVal; 157 vector<string> path = {"/data/backup/tmp"}; 158 mapArgToVal.insert(make_pair("pathCapFile", path)); 159 vector<string> bundles = {"com.example.app2backup"}; 160 mapArgToVal.insert(make_pair("bundles", bundles)); 161 vector<string> incrementalTime = {"0"}; 162 mapArgToVal.insert(make_pair("incrementalTime", incrementalTime)); 163 164 // 尝试匹配当前命令,成功后执行 165 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-backup"; 166 vector<string_view> curOp; 167 curOp.emplace_back("incrementalbackup"); __anon702a50b20302(const ToolsOp &op) 168 auto tryOpSucceed = [&curOp](const ToolsOp &op) { return op.TryMatch(curOp); }; 169 auto &&opeartions = ToolsOp::GetAllOperations(); 170 auto matchedOp = find_if(opeartions.begin(), opeartions.end(), tryOpSucceed); 171 if (matchedOp != opeartions.end()) { 172 auto ret = matchedOp->Execute(mapArgToVal); 173 EXPECT_EQ(ret, 0); 174 } 175 } catch (...) { 176 EXPECT_TRUE(false); 177 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-an exception occurred by construction."; 178 } 179 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_backup_0300"; 180 } 181 182 /** 183 * @tc.number: SUB_backup_tools_op_incremental_backup_0400 184 * @tc.name: SUB_backup_tools_op_incremental_backup_0400 185 * @tc.desc: 测试OnFileReady分支 186 * @tc.size: MEDIUM 187 * @tc.type: FUNC 188 * @tc.level Level 1 189 * @tc.require: I6F3GV 190 */ 191 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_restore_0400, testing::ext::TestSize.Level1) 192 { 193 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_restore_0400"; 194 try { 195 auto ctx = make_shared<SessionBckup>(); 196 BFileInfo fileInfo; 197 fileInfo.owner = "test"; 198 fileInfo.fileName = "/manage.json"; 199 fileInfo.sn = 1; 200 UniqueFd fd(open("textFile", O_RDONLY)); 201 UniqueFd manifestFd(open("textManifest", O_RDONLY)); 202 OnFileReady(ctx, fileInfo, move(fd), move(manifestFd)); 203 } catch (BError &e) { 204 EXPECT_EQ(e.GetCode(), BError(BError::Codes::TOOL_INVAL_ARG).GetCode()); 205 EXPECT_TRUE(true); 206 } catch (...) { 207 EXPECT_TRUE(false); 208 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 209 } 210 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_restore_0400"; 211 } 212 213 /** 214 * @tc.number: SUB_backup_tools_op_incremental_backup_0500 215 * @tc.name: SUB_backup_tools_op_incremental_backup_0500 216 * @tc.desc: 测试OnBundleStarted分支 217 * @tc.size: MEDIUM 218 * @tc.type: FUNC 219 * @tc.level Level 1 220 * @tc.require: I6F3GV 221 */ 222 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_0500, testing::ext::TestSize.Level1) 223 { 224 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_0500"; 225 try { 226 auto ctx = make_shared<SessionBckup>(); 227 ErrCode err = 0; 228 BundleName name = "bundle"; 229 OnBundleStarted(ctx, err, name); 230 EXPECT_TRUE(true); 231 } catch (...) { 232 EXPECT_TRUE(false); 233 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 234 } 235 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_0500"; 236 } 237 238 /** 239 * @tc.number: SUB_backup_tools_op_incremental_backup_0501 240 * @tc.name: SUB_backup_tools_op_incremental_backup_0501 241 * @tc.desc: 测试OnBundleStarted分支 242 * @tc.size: MEDIUM 243 * @tc.type: FUNC 244 * @tc.level Level 1 245 * @tc.require: I6F3GV 246 */ 247 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_0501, testing::ext::TestSize.Level1) 248 { 249 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_0501"; 250 try { 251 auto ctx = make_shared<SessionBckup>(); 252 ctx->SetBundleFinishedCount(1); 253 ErrCode err = -1; 254 BundleName name = "bundle"; 255 OnBundleStarted(ctx, err, name); 256 EXPECT_TRUE(true); 257 } catch (...) { 258 EXPECT_TRUE(false); 259 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 260 } 261 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_0501"; 262 } 263 264 /** 265 * @tc.number: SUB_backup_tools_op_incremental_backup_0600 266 * @tc.name: SUB_backup_tools_op_incremental_backup_0600 267 * @tc.desc: 测试OnBundleFinished分支 268 * @tc.size: MEDIUM 269 * @tc.type: FUNC 270 * @tc.level Level 1 271 * @tc.require: I6F3GV 272 */ 273 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_0600, testing::ext::TestSize.Level1) 274 { 275 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_0600"; 276 try { 277 auto ctx = make_shared<SessionBckup>(); 278 ctx->SetBundleFinishedCount(1); 279 ErrCode err = 0; 280 BundleName name = "bundle"; 281 OnBundleFinished(ctx, err, name); 282 EXPECT_TRUE(true); 283 } catch (...) { 284 EXPECT_TRUE(false); 285 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 286 } 287 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_0600"; 288 } 289 290 /** 291 * @tc.number: SUB_backup_tools_op_incremental_backup_0700 292 * @tc.name: SUB_backup_tools_op_incremental_backup_0700 293 * @tc.desc: 测试OnAllBundlesFinished分支 294 * @tc.size: MEDIUM 295 * @tc.type: FUNC 296 * @tc.level Level 1 297 * @tc.require: I6F3GV 298 */ 299 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_0700, testing::ext::TestSize.Level1) 300 { 301 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_0700"; 302 try { 303 auto ctx = make_shared<SessionBckup>(); 304 ErrCode err = 0; 305 OnAllBundlesFinished(ctx, err); 306 EXPECT_TRUE(true); 307 } catch (...) { 308 EXPECT_TRUE(false); 309 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 310 } 311 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_0700"; 312 } 313 314 /** 315 * @tc.number: SUB_backup_tools_op_incremental_backup_0701 316 * @tc.name: SUB_backup_tools_op_incremental_backup_0701 317 * @tc.desc: 测试OnAllBundlesFinished分支 318 * @tc.size: MEDIUM 319 * @tc.type: FUNC 320 * @tc.level Level 1 321 * @tc.require: I6F3GV 322 */ 323 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_0701, testing::ext::TestSize.Level1) 324 { 325 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_0701"; 326 try { 327 auto ctx = make_shared<SessionBckup>(); 328 ErrCode err = -1; 329 OnAllBundlesFinished(ctx, err); 330 EXPECT_TRUE(true); 331 } catch (...) { 332 EXPECT_TRUE(false); 333 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 334 } 335 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_0701"; 336 } 337 338 /** 339 * @tc.number: SUB_backup_tools_op_incremental_backup_0800 340 * @tc.name: SUB_backup_tools_op_incremental_backup_0800 341 * @tc.desc: 测试OnBackupServiceDied分支 342 * @tc.size: MEDIUM 343 * @tc.type: FUNC 344 * @tc.level Level 1 345 * @tc.require: I6F3GV 346 */ 347 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_0800, testing::ext::TestSize.Level1) 348 { 349 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_0800"; 350 try { 351 auto ctx = make_shared<SessionBckup>(); 352 OnBackupServiceDied(ctx); 353 EXPECT_TRUE(true); 354 } catch (...) { 355 EXPECT_TRUE(false); 356 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 357 } 358 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_0800"; 359 } 360 361 /** 362 * @tc.number: SUB_backup_tools_op_incremental_backup_0900 363 * @tc.name: SUB_backup_tools_op_incremental_backup_0900 364 * @tc.desc: 测试BackupToolDirSoftlinkToBackupDir分支 365 * @tc.size: MEDIUM 366 * @tc.type: FUNC 367 * @tc.level Level 1 368 * @tc.require: I6F3GV 369 */ 370 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_0900, testing::ext::TestSize.Level1) 371 { 372 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_0900"; 373 try { 374 BackupToolDirSoftlinkToBackupDir(); 375 EXPECT_TRUE(true); 376 } catch (...) { 377 EXPECT_TRUE(false); 378 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 379 } 380 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_0900"; 381 } 382 383 /** 384 * @tc.number: SUB_backup_tools_op_incremental_backup_1000 385 * @tc.name: SUB_backup_tools_op_incremental_backup_1000 386 * @tc.desc: 测试GetLocalCapabilitiesIncremental分支 387 * @tc.size: MEDIUM 388 * @tc.type: FUNC 389 * @tc.level Level 1 390 * @tc.require: I6F3GV 391 */ 392 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_1000, testing::ext::TestSize.Level1) 393 { 394 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_1000"; 395 try { 396 auto ctx = make_shared<SessionBckup>(); 397 string pathCapFile = ""; 398 vector<string> bundleNames; 399 bundleNames.push_back("bundle1"); 400 bundleNames.push_back("bundle2"); 401 vector<string> times = {"100"}; 402 int32_t ret = GetLocalCapabilitiesIncremental(ctx, pathCapFile, bundleNames, times); 403 EXPECT_EQ(-EPERM, ret); 404 } catch (...) { 405 EXPECT_TRUE(false); 406 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 407 } 408 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_1000"; 409 } 410 411 /** 412 * @tc.number: SUB_backup_tools_op_incremental_backup_1001 413 * @tc.name: SUB_backup_tools_op_incremental_backup_1001 414 * @tc.desc: 测试GetLocalCapabilitiesIncremental分支 415 * @tc.size: MEDIUM 416 * @tc.type: FUNC 417 * @tc.level Level 1 418 * @tc.require: I6F3GV 419 */ 420 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_1001, testing::ext::TestSize.Level1) 421 { 422 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_1001"; 423 try { 424 auto ctx = make_shared<SessionBckup>(); 425 string pathCapFile = "/data/backup"; 426 vector<string> bundleNames; 427 bundleNames.push_back("bundle1"); 428 bundleNames.push_back("bundle2"); 429 vector<string> times; 430 times.push_back("100"); 431 times.push_back("200"); 432 int32_t ret = GetLocalCapabilitiesIncremental(ctx, pathCapFile, bundleNames, times); 433 EXPECT_EQ(-EPERM, ret); 434 } catch (...) { 435 EXPECT_TRUE(false); 436 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 437 } 438 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_1001"; 439 } 440 441 /** 442 * @tc.number: SUB_backup_tools_op_incremental_backup_1100 443 * @tc.name: SUB_backup_tools_op_incremental_backup_1100 444 * @tc.desc: 测试Init分支 445 * @tc.size: MEDIUM 446 * @tc.type: FUNC 447 * @tc.level Level 1 448 * @tc.require: I6F3GV 449 */ 450 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_1100, testing::ext::TestSize.Level1) 451 { 452 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_1100"; 453 try { 454 string pathCapFile = "/data/backup"; 455 vector<string> bundleNames; 456 bundleNames.push_back("bundle1"); 457 bundleNames.push_back("bundle2"); 458 vector<string> times; 459 times.push_back("100"); 460 times.push_back("200"); 461 int32_t ret = Init(pathCapFile, bundleNames, times); 462 EXPECT_EQ(-EPERM, ret); 463 } catch (...) { 464 EXPECT_TRUE(false); 465 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 466 } 467 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_1100"; 468 } 469 470 /** 471 * @tc.number: SUB_backup_tools_op_incremental_backup_1200 472 * @tc.name: SUB_backup_tools_op_incremental_backup_1200 473 * @tc.desc: 测试Exec分支 474 * @tc.size: MEDIUM 475 * @tc.type: FUNC 476 * @tc.level Level 1 477 * @tc.require: I6F3GV 478 */ 479 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_1200, testing::ext::TestSize.Level1) 480 { 481 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_1200"; 482 try { 483 map<string, vector<string>> mapArgToVal = { 484 {"pathCapFile", {"path"}}, 485 {"bundles", {"bundle1", "bundle2"}}, 486 {"incrementalTime", {"time"}} 487 }; 488 int ret = g_exec(mapArgToVal); 489 EXPECT_LT(ret, 0); 490 } catch (...) { 491 EXPECT_TRUE(false); 492 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 493 } 494 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_1200"; 495 } 496 497 /** 498 * @tc.number: SUB_backup_tools_op_incremental_backup_1201 499 * @tc.name: SUB_backup_tools_op_incremental_backup_1201 500 * @tc.desc: 测试Exec分支 501 * @tc.size: MEDIUM 502 * @tc.type: FUNC 503 * @tc.level Level 1 504 * @tc.require: I6F3GV 505 */ 506 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_1201, testing::ext::TestSize.Level1) 507 { 508 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_1201"; 509 try { 510 map<string, vector<string>> mapArgToVal = { 511 {"bundles", {"bundle1"}}, 512 {"incrementalTime", {"time"}} 513 }; 514 int ret = g_exec(mapArgToVal); 515 EXPECT_LT(ret, 0); 516 } catch (...) { 517 EXPECT_TRUE(false); 518 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 519 } 520 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_1201"; 521 } 522 523 /** 524 * @tc.number: SUB_backup_tools_op_incremental_backup_1202 525 * @tc.name: SUB_backup_tools_op_incremental_backup_1202 526 * @tc.desc: 测试Exec分支 527 * @tc.size: MEDIUM 528 * @tc.type: FUNC 529 * @tc.level Level 1 530 * @tc.require: I6F3GV 531 */ 532 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_1202, testing::ext::TestSize.Level1) 533 { 534 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_1202"; 535 try { 536 map<string, vector<string>> mapArgToVal = { 537 {"pathCapFile", {"path"}}, 538 {"incrementalTime", {"time"}} 539 }; 540 int ret = g_exec(mapArgToVal); 541 EXPECT_LT(ret, 0); 542 } catch (...) { 543 EXPECT_TRUE(false); 544 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 545 } 546 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_1202"; 547 } 548 549 /** 550 * @tc.number: SUB_backup_tools_op_incremental_backup_1203 551 * @tc.name: SUB_backup_tools_op_incremental_backup_1203 552 * @tc.desc: 测试Exec分支 553 * @tc.size: MEDIUM 554 * @tc.type: FUNC 555 * @tc.level Level 1 556 * @tc.require: I6F3GV 557 */ 558 HWTEST_F(ToolsOpIncrementalBackupTest, SUB_backup_tools_op_incremental_backup_1203, testing::ext::TestSize.Level1) 559 { 560 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-begin SUB_backup_tools_op_incremental_backup_1203"; 561 try { 562 map<string, vector<string>> mapArgToVal = { 563 {"pathCapFile", {"path"}}, 564 {"bundles", {"bundle1"}} 565 }; 566 int ret = g_exec(mapArgToVal); 567 EXPECT_LT(ret, 0); 568 } catch (...) { 569 EXPECT_TRUE(false); 570 GTEST_LOG_(INFO) << "ToolsOpRestoreAsyncTest-an exception occurred by construction."; 571 } 572 GTEST_LOG_(INFO) << "ToolsOpIncrementalBackupTest-end SUB_backup_tools_op_incremental_backup_1203"; 573 } 574 } // namespace OHOS::FileManagement::Backup