From 1abb9321b67c61528b726bf19c28dd5f6aa82cd8 Mon Sep 17 00:00:00 2001 From: tantingting Date: Fri, 20 Sep 2024 18:24:30 +0800 Subject: [PATCH] add tdd Signed-off-by: tantingting --- .../test/unittest/packager_test/BUILD.gn | 1 + .../unittest/packager_test/packager_test.cpp | 165 +++++++++++++++++- 2 files changed, 165 insertions(+), 1 deletion(-) diff --git a/packing_tool/frameworks/test/unittest/packager_test/BUILD.gn b/packing_tool/frameworks/test/unittest/packager_test/BUILD.gn index 71aaf3b1..10f84ea7 100644 --- a/packing_tool/frameworks/test/unittest/packager_test/BUILD.gn +++ b/packing_tool/frameworks/test/unittest/packager_test/BUILD.gn @@ -38,6 +38,7 @@ ohos_unittest("packager_test") { "../../../src/log.cpp", "../../../src/packager.cpp", "../../../src/utils.cpp", + "../../../src/zip_utils.cpp", "../../../src/zip_wrapper.cpp", "packager_test.cpp", ] diff --git a/packing_tool/frameworks/test/unittest/packager_test/packager_test.cpp b/packing_tool/frameworks/test/unittest/packager_test/packager_test.cpp index 475b7112..e9c6c3f3 100644 --- a/packing_tool/frameworks/test/unittest/packager_test/packager_test.cpp +++ b/packing_tool/frameworks/test/unittest/packager_test/packager_test.cpp @@ -30,6 +30,7 @@ using namespace testing::ext; namespace OHOS { namespace { std::string OUT_PATH = "/data/test/entry-default-unsigned.hap"; +std::string STAGE_JSON_PATH = "/data/test/module.json"; std::string SUFFIX = ".hap"; } @@ -134,8 +135,170 @@ HWTEST_F(PackagerTest, IsOutPathValid_0500, Function | MediumTest | Level1) { std::string resultReceiver; std::map parameterMap = {}; + system("touch /data/test/entry-default-unsigned.hap"); + system("touch /data/test/entry-default-unsigned.har"); + system("touch /data/test/entry-default-unsigned.hsp"); + system("touch /data/test/entry-default-unsigned.app"); + system("touch /data/test/entry-default-unsigned.res"); + system("touch /data/test/entry-default-unsigned.hhh"); + std::string outPath = "/data/test/entry-default-unsigned.hap"; + std::string suffix = ".hap"; + + OHOS::AppPackingTool::HapPackager packager(parameterMap, resultReceiver); + EXPECT_TRUE(packager.IsOutPathValid(outPath, "true", suffix)); + EXPECT_FALSE(packager.IsOutPathValid(outPath, "false", suffix)); + outPath = "/data/test/entry-default-unsigned.har"; + EXPECT_FALSE(packager.IsOutPathValid(outPath, "true", suffix)); + suffix = ".har"; + EXPECT_TRUE(packager.IsOutPathValid(outPath, "true", suffix)); + outPath = "/data/test/entry-default-unsigned.hsp"; + EXPECT_FALSE(packager.IsOutPathValid(outPath, "true", suffix)); + suffix = ".hsp"; + EXPECT_TRUE(packager.IsOutPathValid(outPath, "true", suffix)); + outPath = "/data/test/entry-default-unsigned.app"; + EXPECT_FALSE(packager.IsOutPathValid(outPath, "true", suffix)); + suffix = ".app"; + EXPECT_TRUE(packager.IsOutPathValid(outPath, "true", suffix)); + outPath = "/data/test/entry-default-unsigned.res"; + EXPECT_FALSE(packager.IsOutPathValid(outPath, "true", suffix)); + suffix = ".res"; + EXPECT_TRUE(packager.IsOutPathValid(outPath, "true", suffix)); + outPath = "/data/test/entry-default-unsigned.hhh"; + EXPECT_FALSE(packager.IsOutPathValid(outPath, "true", suffix)); + suffix = ".abc"; + EXPECT_FALSE(packager.IsOutPathValid(outPath, "true", suffix)); + + system("rm -f /data/test/entry-default-unsigned.hap"); + system("rm -f /data/test/entry-default-unsigned.har"); + system("rm -f /data/test/entry-default-unsigned.hsp"); + system("rm -f /data/test/entry-default-unsigned.app"); + system("rm -f /data/test/entry-default-unsigned.res"); + system("rm -f /data/test/entry-default-unsigned.hhh"); +} + +/* + * @tc.name: CheckForceFlag_0600 + * @tc.desc: CheckForceFlag. + * @tc.type: FUNC + * @tc.require: + */ +HWTEST_F(PackagerTest, CheckForceFlag_0600, Function | MediumTest | Level1) +{ + std::string resultReceiver; + std::map parameterMap = { + {OHOS::AppPackingTool::Constants::PARAM_FORCE, "normal"}, + }; + + OHOS::AppPackingTool::HapPackager packager(parameterMap, resultReceiver); + EXPECT_FALSE(packager.CheckForceFlag()); +} + +/* + * @tc.name: SetGenerateBuildHash_0700 + * @tc.desc: SetGenerateBuildHash. + * @tc.type: FUNC + * @tc.require: + */ +HWTEST_F(PackagerTest, SetGenerateBuildHash_0700, Function | MediumTest | Level1) +{ + std::string resultReceiver; + std::map parameterMap = { + {OHOS::AppPackingTool::Constants::PARAM_JSON_PATH, STAGE_JSON_PATH}, + }; + bool generateBuildHash = true; + bool buildHashFinish = true; + system("touch /data/test/module.json"); + + OHOS::AppPackingTool::HapPackager packager(parameterMap, resultReceiver); + EXPECT_TRUE(packager.SetGenerateBuildHash(STAGE_JSON_PATH, generateBuildHash, buildHashFinish)); + + system("rm -f /data/test/module.json"); + EXPECT_FALSE(packager.SetGenerateBuildHash(STAGE_JSON_PATH, generateBuildHash, buildHashFinish)); + EXPECT_FALSE(packager.CopyFileToTempDir(STAGE_JSON_PATH)); +} + +/* + * @tc.name: BuildHash_0800 + * @tc.desc: BuildHash. + * @tc.type: FUNC + * @tc.require: + */ +HWTEST_F(PackagerTest, BuildHash_0800, Function | MediumTest | Level1) +{ + std::string resultReceiver; + std::map parameterMap = {}; + bool generateBuildHash = true; + bool buildHashFinish = false; + + OHOS::AppPackingTool::HapPackager packager(parameterMap, resultReceiver); + EXPECT_FALSE(packager.BuildHash(buildHashFinish, generateBuildHash, parameterMap, STAGE_JSON_PATH)); +} + +/* + * @tc.name: PutBuildHash_0900 + * @tc.desc: PutBuildHash. + * @tc.type: FUNC + * @tc.require: + */ +HWTEST_F(PackagerTest, PutBuildHash_0900, Function | MediumTest | Level1) +{ + std::string resultReceiver; + std::map parameterMap = {}; + bool buildHashFinish = true; + std::string hash; + + OHOS::AppPackingTool::HapPackager packager(parameterMap, resultReceiver); + EXPECT_TRUE(packager.PutBuildHash(STAGE_JSON_PATH, hash, buildHashFinish)); +} + +/* + * @tc.name: IsModuleHap_1000 + * @tc.desc: IsModuleHap. + * @tc.type: FUNC + * @tc.require: + */ +HWTEST_F(PackagerTest, IsModuleHap_1000, Function | MediumTest | Level1) +{ + std::string resultReceiver; + std::map parameterMap = {}; + std::string hapPath; + system("touch /data/test/entry-default-unsigned.hap"); + + OHOS::AppPackingTool::HapPackager packager(parameterMap, resultReceiver); + EXPECT_FALSE(packager.IsModuleHap(hapPath)); + EXPECT_FALSE(packager.IsModuleHap(OUT_PATH)); + system("rm -f /data/test/entry-default-unsigned.hap"); +} + +/* + * @tc.name: IsOutDirectoryValid_1100 + * @tc.desc: IsOutDirectoryValid. + * @tc.type: FUNC + * @tc.require: + */ +HWTEST_F(PackagerTest, IsOutDirectoryValid_1100, Function | MediumTest | Level1) +{ + std::string resultReceiver; + std::map parameterMap = {}; + + OHOS::AppPackingTool::HapPackager packager(parameterMap, resultReceiver); + EXPECT_FALSE(packager.IsOutDirectoryValid()); +} + +/* + * @tc.name: IsOutDirectoryValid_1200 + * @tc.desc: IsOutDirectoryValid. + * @tc.type: FUNC + * @tc.require: + */ +HWTEST_F(PackagerTest, IsOutDirectoryValid_1200, Function | MediumTest | Level1) +{ + std::string resultReceiver; + std::map parameterMap = { + {OHOS::AppPackingTool::Constants::PARAM_OUT_PATH, ""}, + }; OHOS::AppPackingTool::HapPackager packager(parameterMap, resultReceiver); - EXPECT_TRUE(packager.IsOutPathValid(OUT_PATH, "true", SUFFIX)); + EXPECT_FALSE(packager.IsOutDirectoryValid()); } } // namespace OHOS \ No newline at end of file -- Gitee