1 /* 2 * Copyright (c) 2022-2025 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 <gtest/gtest.h> 17 18 #include "reminder_bundle_manager_helper.h" 19 20 #include "mock_service_registry.h" 21 22 using namespace testing::ext; 23 namespace OHOS::Notification { 24 class ReminderBundleManagerHelperTest : public testing::Test { 25 public: SetUpTestCase()26 static void SetUpTestCase() {} TearDownTestCase()27 static void TearDownTestCase() {} SetUp()28 void SetUp() {} TearDown()29 void TearDown() {} 30 }; 31 32 /** 33 * @tc.number : ReminderBundleManagerHelperTest_001 34 * @tc.name : ReminderBundleManagerHelperTest_001 35 * @tc.desc : test Connect function and systemAbilityManager is nullptr 36 */ 37 HWTEST_F(ReminderBundleManagerHelperTest, ReminderBundleManagerHelperTest_001, Function | SmallTest | Level1) 38 { 39 auto bundleManagerHelper = std::make_shared<ReminderBundleManagerHelper>(); 40 ASSERT_NE(nullptr, bundleManagerHelper); 41 MockServiceRegistry::MockGetSystemAbilityManager(true); 42 bundleManagerHelper->Connect(); 43 } 44 45 /** 46 * @tc.number : ReminderBundleManagerHelperTest_002 47 * @tc.name : ReminderBundleManagerHelperTest_002 48 * @tc.desc : test Connect function and systemAbilityManager is not nullptr 49 */ 50 HWTEST_F(ReminderBundleManagerHelperTest, ReminderBundleManagerHelperTest_002, Function | SmallTest | Level1) 51 { 52 auto bundleManagerHelper = std::make_shared<ReminderBundleManagerHelper>(); 53 ASSERT_NE(nullptr, bundleManagerHelper); 54 MockServiceRegistry::MockGetSystemAbilityManager(false); 55 // test Connect and bundleMgr_ == nullptr 56 bundleManagerHelper->Connect(); 57 } 58 59 /** 60 * @tc.number : ReminderBundleManagerHelperTest_003 61 * @tc.name : ReminderBundleManagerHelperTest_003 62 * @tc.desc : test Connect function and bundleMgr_ != nullptr 63 */ 64 HWTEST_F(ReminderBundleManagerHelperTest, ReminderBundleManagerHelperTest_003, Function | SmallTest | Level1) 65 { 66 auto bundleManagerHelper = std::make_shared<ReminderBundleManagerHelper>(); 67 ASSERT_NE(nullptr, bundleManagerHelper); 68 MockServiceRegistry::MockGetSystemAbilityManager(false); 69 bundleManagerHelper->Connect(); 70 // test Connect and bundleMgr_ != nullptr 71 bundleManagerHelper->Connect(); 72 } 73 74 /** 75 * @tc.number : ReminderBundleManagerHelperTest_004 76 * @tc.name : ReminderBundleManagerHelperTest_004 77 * @tc.desc : test Disconnect function and bundleMgr_ != nullptr 78 */ 79 HWTEST_F(ReminderBundleManagerHelperTest, ReminderBundleManagerHelperTest_004, Function | SmallTest | Level1) 80 { 81 auto bundleManagerHelper = std::make_shared<ReminderBundleManagerHelper>(); 82 ASSERT_NE(nullptr, bundleManagerHelper); 83 MockServiceRegistry::MockGetSystemAbilityManager(false); 84 bundleManagerHelper->Connect(); 85 bundleManagerHelper->Disconnect(); 86 } 87 88 /** 89 * @tc.number : ReminderBundleManagerHelperTest_005 90 * @tc.name : ReminderBundleManagerHelperTest_005 91 * @tc.desc : test Disconnect function and bundleMgr_ == nullptr 92 */ 93 HWTEST_F(ReminderBundleManagerHelperTest, ReminderBundleManagerHelperTest_005, Function | SmallTest | Level1) 94 { 95 auto bundleManagerHelper = std::make_shared<ReminderBundleManagerHelper>(); 96 ASSERT_NE(nullptr, bundleManagerHelper); 97 bundleManagerHelper->Disconnect(); 98 } 99 100 /** 101 * @tc.number : ReminderBundleManagerHelperTest_006 102 * @tc.name : ReminderBundleManagerHelperTest_006 103 * @tc.desc : test GetBundleNameByUid function 104 */ 105 HWTEST_F(ReminderBundleManagerHelperTest, ReminderBundleManagerHelperTest_006, Function | SmallTest | Level1) 106 { 107 ReminderBundleManagerHelper bundleManagerHelper; 108 int32_t uid = 1; 109 // bundleMgr_ == nullptr 110 MockServiceRegistry::MockGetSystemAbilityManager(true); 111 ASSERT_EQ("", bundleManagerHelper.GetBundleNameByUid(uid)); 112 113 // bundleMgr_ != nullptr 114 MockServiceRegistry::MockGetSystemAbilityManager(false); 115 ASSERT_EQ("", bundleManagerHelper.GetBundleNameByUid(uid)); 116 } 117 118 /** 119 * @tc.number : ReminderBundleManagerHelperTest_007 120 * @tc.name : ReminderBundleManagerHelperTest_007 121 * @tc.desc : test GetDefaultUidByBundleName function 122 */ 123 HWTEST_F(ReminderBundleManagerHelperTest, ReminderBundleManagerHelperTest_007, Function | SmallTest | Level1) 124 { 125 ReminderBundleManagerHelper bundleManagerHelper; 126 std::string bundle = "aa"; 127 int32_t userId = 1; 128 // bundleMgr_ == nullptr 129 MockServiceRegistry::MockGetSystemAbilityManager(true); 130 ASSERT_EQ(-1, bundleManagerHelper.GetDefaultUidByBundleName(bundle, userId)); 131 132 // bundleMgr_ != nullptr 133 MockServiceRegistry::MockGetSystemAbilityManager(false); 134 ASSERT_EQ(-1, bundleManagerHelper.GetDefaultUidByBundleName(bundle, userId)); 135 } 136 137 /** 138 * @tc.number : ReminderBundleManagerHelperTest_008 139 * @tc.name : ReminderBundleManagerHelperTest_008 140 * @tc.desc : test GetDefaultUidByBundleName function 141 */ 142 HWTEST_F(ReminderBundleManagerHelperTest, ReminderBundleManagerHelperTest_008, Function | SmallTest | Level1) 143 { 144 ReminderBundleManagerHelper bundleManagerHelper; 145 std::string bundle = "aa"; 146 int32_t uid = 1; 147 AppExecFwk::BundleInfo bundleInfo; 148 // bundleMgr_ == nullptr 149 MockServiceRegistry::MockGetSystemAbilityManager(true); 150 ASSERT_EQ(false, bundleManagerHelper.GetBundleInfo(bundle, AppExecFwk::BundleFlag::GET_BUNDLE_WITH_ABILITIES, 151 uid, bundleInfo)); 152 153 // bundleMgr_ != nullptr 154 MockServiceRegistry::MockGetSystemAbilityManager(false); 155 ASSERT_EQ(false, bundleManagerHelper.GetBundleInfo(bundle, AppExecFwk::BundleFlag::GET_BUNDLE_WITH_ABILITIES, 156 uid, bundleInfo)); 157 } 158 159 /** 160 * @tc.number : ReminderBundleManagerHelperTest_009 161 * @tc.name : ReminderBundleManagerHelperTest_009 162 * @tc.desc : test GetAppIndexByUid function 163 */ 164 HWTEST_F(ReminderBundleManagerHelperTest, ReminderBundleManagerHelperTest_009, Function | SmallTest | Level1) 165 { 166 ReminderBundleManagerHelper bundleManagerHelper; 167 int32_t uid = 1; 168 // bundleMgr_ == nullptr 169 MockServiceRegistry::MockGetSystemAbilityManager(true); 170 ASSERT_EQ(0, bundleManagerHelper.GetAppIndexByUid(uid)); 171 172 // bundleMgr_ != nullptr 173 MockServiceRegistry::MockGetSystemAbilityManager(false); 174 ASSERT_EQ(0, bundleManagerHelper.GetAppIndexByUid(uid)); 175 } 176 } // namespace OHOS::Notification