diff --git a/services/bundlemgr/test/unittest/bms_bundle_data_storage_test/bms_bundle_data_storage_database_test.cpp b/services/bundlemgr/test/unittest/bms_bundle_data_storage_test/bms_bundle_data_storage_database_test.cpp index 871b6d2a46ae3d9d75298231c04f487ad2ce312b..dd429c62ae681626070e29fcb21627c9bee7e35c 100644 --- a/services/bundlemgr/test/unittest/bms_bundle_data_storage_test/bms_bundle_data_storage_database_test.cpp +++ b/services/bundlemgr/test/unittest/bms_bundle_data_storage_test/bms_bundle_data_storage_database_test.cpp @@ -1836,6 +1836,46 @@ HWTEST_F(BmsBundleDataStorageDatabaseTest, InnerBundleInfo_0200, Function | Smal EXPECT_EQ(ret, true); } +/** + * @tc.number: InnerBundleInfo_0300 + * @tc.name: Test Match + * @tc.desc: Use Match to match Types's different Uri And Type of InnerBundleInfoCpp + */ +HWTEST_F(BmsBundleDataStorageDatabaseTest, InnerBundleInfo_0300, Function | SmallTest | Level1) +{ + OHOS::AAFwk::Want wantForNFC; + const std::string strActionForNFC = "ohos.nfc.tag.action.TAG_FOUND"; + const std::string strType = "tag-tech/NFcA"; + wantForNFC.SetAction(strActionForNFC); + wantForNFC.SetType(strType); + std::vector vecTypes; + vecTypes.emplace_back("tag-tech/NFcA"); + vecTypes.emplace_back("tag-tech/IsoDep"); + const std::string strkey = "ohos.ability.params.uriTypes"; + wantForNFC.SetParam(strkey, vecTypes); + Skill skillForNFC; + std::vector vecActions; + vecActions.emplace_back("action.system.home"); + vecActions.emplace_back("ohos.nfc.tag.action.TAG_FOUND"); + skillForNFC.actions = vecActions; + std::vector vecUrisForNFC; + SkillUri urisForNFCFirst; + urisForNFCFirst.type = "tag-tech/NFcA"; + vecUrisForNFC.emplace_back(urisForNFCFirst); + SkillUri urisForNFCSecond; + urisForNFCSecond.type = "tag-tech/IsoDep"; + vecUrisForNFC.emplace_back(urisForNFCSecond); + skillForNFC.uris = vecUrisForNFC; + bool ret = skillForNFC.Match(wantForNFC); + EXPECT_EQ(ret, true); + + vecTypes[0] = "tag-tech/a"; + vecTypes[1] = "tag-tech/b"; + wantForNFC.SetParam(strkey, vecTypes); + ret = skillForNFC.Match(wantForNFC); + EXPECT_EQ(ret, false); +} + /** * @tc.number: InnerBundleInfo_0400 * @tc.name: Test BuildDefaultUserInfo diff --git a/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_data_mgr_test.cpp b/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_data_mgr_test.cpp index d80986c66fcb09f2ca7057b30f44b5d9ffb825f0..013457ffcd5b5e2ccdc0fd2ce8751b00d5f2b97d 100644 --- a/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_data_mgr_test.cpp +++ b/services/bundlemgr/test/unittest/bms_bundle_kit_service_test/bms_bundle_data_mgr_test.cpp @@ -3539,4 +3539,193 @@ HWTEST_F(BmsBundleDataMgrTest, GetGroupDir_0002, Function | SmallTest | Level0) EXPECT_EQ(dir, EMPTY_STRING); MockUninstallBundle(BUNDLE_NAME_TEST); } + +/** + * @tc.number: TestAddAbilitySkillUrisInfo_0100 + * @tc.name: test AddAbilitySkillUrisInfo + * @tc.desc: 1.AddAbilitySkillUrisInfo + */ +HWTEST_F(BmsBundleDataMgrTest, TestAddAbilitySkillUrisInfo_0100, Function | MediumTest | Level1) +{ + auto dataMgr = GetBundleDataMgr(); + EXPECT_NE(dataMgr, nullptr); + + int32_t flags = 512; + SkillUri uriFirst; + uriFirst.scheme = "scheme1"; + uriFirst.host = "host1"; + uriFirst.port = "port1"; + uriFirst.path = "path1"; + uriFirst.pathStartWith = "pathStartWith1"; + uriFirst.pathRegex = "pathRegex1"; + uriFirst.type = "type1"; + + SkillUri uriSecond; + uriSecond.scheme = "scheme2"; + uriSecond.host = "host2"; + uriSecond.port = "port2"; + uriSecond.path = "path2"; + uriSecond.pathStartWith = "pathStartWith2"; + uriSecond.pathRegex = "pathRegex2"; + uriSecond.type = "type2"; + + Skill skill; + std::vector vecUris; + vecUris.emplace_back(uriFirst); + vecUris.emplace_back(uriSecond); + skill.uris = vecUris; + AbilityInfo abilityInfo; + dataMgr->AddAbilitySkillUrisInfo(flags, skill, abilityInfo); + if (abilityInfo.skillUri.size() == 0) { + EXPECT_TRUE(false); + return; + } + + EXPECT_STREQ(abilityInfo.skillUri[0].scheme.c_str(), uriFirst.scheme.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[0].host.c_str(), uriFirst.host.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[0].port.c_str(), uriFirst.port.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[0].path.c_str(), uriFirst.path.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[0].pathStartWith.c_str(), uriFirst.pathStartWith.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[0].pathRegex.c_str(), uriFirst.pathRegex.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[0].type.c_str(), uriFirst.type.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[1].scheme.c_str(), uriSecond.scheme.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[1].host.c_str(), uriSecond.host.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[1].port.c_str(), uriSecond.port.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[1].path.c_str(), uriSecond.path.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[1].pathStartWith.c_str(), uriSecond.pathStartWith.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[1].pathRegex.c_str(), uriSecond.pathRegex.c_str()); + EXPECT_STREQ(abilityInfo.skillUri[1].type.c_str(), uriSecond.type.c_str()); +} + +/** + * @tc.number: TestAddAbilitySkillUrisInfo_0200 + * @tc.name: test AddAbilitySkillUrisInfo + * @tc.desc: 1.AddAbilitySkillUrisInfo + */ +HWTEST_F(BmsBundleDataMgrTest, TestAddAbilitySkillUrisInfo_0200, Function | MediumTest | Level1) +{ + auto dataMgr = GetBundleDataMgr(); + EXPECT_NE(dataMgr, nullptr); + + int32_t flags = 1024; + SkillUri uriFirst; + uriFirst.scheme = "scheme1"; + uriFirst.host = "host1"; + uriFirst.port = "port1"; + uriFirst.path = "path1"; + uriFirst.pathStartWith = "pathStartWith1"; + uriFirst.pathRegex = "pathRegex1"; + uriFirst.type = "type1"; + + SkillUri uriSecond; + uriSecond.scheme = "scheme2"; + uriSecond.host = "host2"; + uriSecond.port = "port2"; + uriSecond.path = "path2"; + uriSecond.pathStartWith = "pathStartWith2"; + uriSecond.pathRegex = "pathRegex2"; + uriSecond.type = "type2"; + + Skill skill; + std::vector vecUris; + vecUris.emplace_back(uriFirst); + vecUris.emplace_back(uriSecond); + AbilityInfo abilityInfo; + dataMgr->AddAbilitySkillUrisInfo(flags, skill, abilityInfo); + EXPECT_EQ(abilityInfo.skillUri.size(), 0); +} +/** + * @tc.number: TestAddExtensionSkillUrisInfo_0100 + * @tc.name: test AddExtensionSkillUrisInfo + * @tc.desc: 1.AddExtensionSkillUrisInfo + */ +HWTEST_F(BmsBundleDataMgrTest, TestAddExtensionSkillUrisInfo_0100, Function | MediumTest | Level1) +{ + auto dataMgr = GetBundleDataMgr(); + EXPECT_NE(dataMgr, nullptr); + + int32_t flags = 512; + SkillUri uriFirst; + uriFirst.scheme = "scheme1"; + uriFirst.host = "host1"; + uriFirst.port = "port1"; + uriFirst.path = "path1"; + uriFirst.pathStartWith = "pathStartWith1"; + uriFirst.pathRegex = "pathRegex1"; + uriFirst.type = "type1"; + + SkillUri uriSecond; + uriSecond.scheme = "scheme2"; + uriSecond.host = "host2"; + uriSecond.port = "port2"; + uriSecond.path = "path2"; + uriSecond.pathStartWith = "pathStartWith2"; + uriSecond.pathRegex = "pathRegex2"; + uriSecond.type = "type2"; + + Skill skill; + std::vector vecUris; + vecUris.emplace_back(uriFirst); + vecUris.emplace_back(uriSecond); + skill.uris = vecUris; + ExtensionAbilityInfo extensionAbilityInfo; + dataMgr->AddExtensionSkillUrisInfo(flags, skill, extensionAbilityInfo); + if (extensionAbilityInfo.skillUri.size() == 0) { + EXPECT_TRUE(false); + return; + } + EXPECT_STREQ(extensionAbilityInfo.skillUri[0].scheme.c_str(), uriFirst.scheme.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[0].host.c_str(), uriFirst.host.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[0].port.c_str(), uriFirst.port.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[0].path.c_str(), uriFirst.path.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[0].pathStartWith.c_str(), uriFirst.pathStartWith.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[0].pathRegex.c_str(), uriFirst.pathRegex.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[0].type.c_str(), uriFirst.type.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[1].scheme.c_str(), uriSecond.scheme.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[1].host.c_str(), uriSecond.host.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[1].port.c_str(), uriSecond.port.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[1].path.c_str(), uriSecond.path.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[1].pathStartWith.c_str(), uriSecond.pathStartWith.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[1].pathRegex.c_str(), uriSecond.pathRegex.c_str()); + EXPECT_STREQ(extensionAbilityInfo.skillUri[1].type.c_str(), uriSecond.type.c_str()); +} + +/** + * @tc.number: TestAddAbilitySkillUrisInfo_0200 + * @tc.name: test AddAbilitySkillUrisInfo + * @tc.desc: 1.AddAbilitySkillUrisInfo + */ +HWTEST_F(BmsBundleDataMgrTest, TestAddExtensionSkillUrisInfo_0200, Function | MediumTest | Level1) +{ + auto dataMgr = GetBundleDataMgr(); + EXPECT_NE(dataMgr, nullptr); + + int32_t flags = 1024; + SkillUri uriFirst; + uriFirst.scheme = "scheme1"; + uriFirst.host = "host1"; + uriFirst.port = "port1"; + uriFirst.path = "path1"; + uriFirst.pathStartWith = "pathStartWith1"; + uriFirst.pathRegex = "pathRegex1"; + uriFirst.type = "type1"; + + SkillUri uriSecond; + uriSecond.scheme = "scheme2"; + uriSecond.host = "host2"; + uriSecond.port = "port2"; + uriSecond.path = "path2"; + uriSecond.pathStartWith = "pathStartWith2"; + uriSecond.pathRegex = "pathRegex2"; + uriSecond.type = "type2"; + + Skill skill; + std::vector vecUris; + vecUris.emplace_back(uriFirst); + vecUris.emplace_back(uriSecond); + skill.uris = vecUris; + ExtensionAbilityInfo extensionAbilityInfo; + dataMgr->AddExtensionSkillUrisInfo(flags, skill, extensionAbilityInfo); + EXPECT_EQ(extensionAbilityInfo.skillUri.size(), 0); +} } \ No newline at end of file