1 /* 2 * Copyright (c) 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 <gtest/gtest.h> 17 18 #include "admin.h" 19 20 using namespace testing::ext; 21 using namespace testing; 22 23 namespace OHOS { 24 namespace EDM { 25 namespace TEST { 26 const std::string TEST_PERMISSION = "ohos.permission.EDM_TEST_PERMISSION"; 27 const std::string TEST_PERMISSION_FAIL = "ohos.permission.EDM_TEST_PERMISSION_FAIL"; 28 const std::string TEST_BUNDLE_NAME = "com.edm.test.demo"; 29 const std::string TEST_ABILITY_NAME = "com.edm.test.demo.Ability"; 30 class AdminTest : public testing::Test {}; 31 /** 32 * @tc.name: TestCheckPermissionWithPermissionEmpty 33 * @tc.desc: Test AdminManager::CheckPermission. 34 * @tc.type: FUNC 35 */ 36 HWTEST_F(AdminTest, TestCheckPermissionWithPermissionEmpty, TestSize.Level1) 37 { 38 AppExecFwk::ExtensionAbilityInfo abilityInfo; 39 EntInfo entInfo; 40 std::vector<std::string> permissions; 41 std::shared_ptr<Admin> admin = std::make_shared<Admin>(abilityInfo, AdminType::ENT, entInfo, permissions, true); 42 bool ret = admin->CheckPermission(TEST_PERMISSION); 43 ASSERT_FALSE(ret); 44 } 45 46 /** 47 * @tc.name: TestCheckPermissionWithInvalidPermission 48 * @tc.desc: Test AdminManager::CheckPermission. 49 * @tc.type: FUNC 50 */ 51 HWTEST_F(AdminTest, TestCheckPermissionWithInvalidPermission, TestSize.Level1) 52 { 53 AppExecFwk::ExtensionAbilityInfo abilityInfo; 54 EntInfo entInfo; 55 std::vector<std::string> permissions; 56 permissions.push_back(TEST_PERMISSION_FAIL); 57 std::shared_ptr<Admin> admin = std::make_shared<Admin>(abilityInfo, AdminType::ENT, entInfo, permissions, true); 58 bool ret = admin->CheckPermission(TEST_PERMISSION); 59 ASSERT_FALSE(ret); 60 } 61 62 /** 63 * @tc.name: TestCheckPermission 64 * @tc.desc: Test AdminManager::CheckPermission. 65 * @tc.type: FUNC 66 */ 67 HWTEST_F(AdminTest, TestCheckPermission, TestSize.Level1) 68 { 69 AppExecFwk::ExtensionAbilityInfo abilityInfo; 70 EntInfo entInfo; 71 std::vector<std::string> permissions; 72 permissions.push_back(TEST_PERMISSION); 73 std::shared_ptr<Admin> admin = std::make_shared<Admin>(abilityInfo, AdminType::ENT, entInfo, permissions, true); 74 bool ret = admin->CheckPermission(TEST_PERMISSION); 75 ASSERT_TRUE(ret); 76 } 77 78 /** 79 * @tc.name: TestGetAdminTypeWithSuperAdmin 80 * @tc.desc: Test AdminManager::GetAdminType. 81 * @tc.type: FUNC 82 */ 83 HWTEST_F(AdminTest, TestGetAdminTypeWithSuperAdmin, TestSize.Level1) 84 { 85 AppExecFwk::ExtensionAbilityInfo abilityInfo; 86 EntInfo entInfo; 87 std::vector<std::string> permissions; 88 std::shared_ptr<Admin> admin = std::make_shared<Admin>(abilityInfo, AdminType::ENT, entInfo, permissions, true); 89 AdminType adminType = admin->GetAdminType(); 90 ASSERT_TRUE(adminType == AdminType::ENT); 91 } 92 93 /** 94 * @tc.name: TestGetAdminTypeWithNormalAdmin 95 * @tc.desc: Test AdminManager::GetAdminType. 96 * @tc.type: FUNC 97 */ 98 HWTEST_F(AdminTest, TestGetAdminTypeWithNormalAdmin, TestSize.Level1) 99 { 100 AppExecFwk::ExtensionAbilityInfo abilityInfo; 101 EntInfo entInfo; 102 std::vector<std::string> permissions; 103 std::shared_ptr<Admin> admin = std::make_shared<Admin>(abilityInfo, AdminType::NORMAL, entInfo, permissions, true); 104 AdminType adminType = admin->GetAdminType(); 105 ASSERT_TRUE(adminType == AdminType::NORMAL); 106 } 107 108 /** 109 * @tc.name: TestGetAdminTypeWithUnknownAdmin 110 * @tc.desc: Test AdminManager::GetAdminType. 111 * @tc.type: FUNC 112 */ 113 HWTEST_F(AdminTest, TestGetAdminTypeWithUnknownAdmin, TestSize.Level1) 114 { 115 AppExecFwk::ExtensionAbilityInfo abilityInfo; 116 EntInfo entInfo; 117 std::vector<std::string> permissions; 118 std::shared_ptr<Admin> admin = std::make_shared<Admin>(abilityInfo, AdminType::UNKNOWN, entInfo, permissions, true); 119 AdminType adminType = admin->GetAdminType(); 120 ASSERT_TRUE(adminType == AdminType::UNKNOWN); 121 } 122 123 /** 124 * @tc.name: TestGetParentAdminNameWithSuperAdmin 125 * @tc.desc: Test AdminManager::GetParentAdminName. 126 * @tc.type: FUNC 127 */ 128 HWTEST_F(AdminTest, TestGetParentAdminNameWithSuperAdmin, TestSize.Level1) 129 { 130 AppExecFwk::ExtensionAbilityInfo abilityInfo; 131 EntInfo entInfo; 132 std::vector<std::string> permissions; 133 std::shared_ptr<Admin> admin = std::make_shared<Admin>(abilityInfo, AdminType::ENT, entInfo, permissions, true); 134 std::string parentAdminName = admin->GetParentAdminName(); 135 ASSERT_TRUE(parentAdminName.empty()); 136 } 137 138 /** 139 * @tc.name: TestGetParentAdminNameWithNormalAdmin 140 * @tc.desc: Test AdminManager::GetParentAdminName. 141 * @tc.type: FUNC 142 */ 143 HWTEST_F(AdminTest, TestGetParentAdminNameWithNormalAdmin, TestSize.Level1) 144 { 145 AppExecFwk::ExtensionAbilityInfo abilityInfo; 146 EntInfo entInfo; 147 std::vector<std::string> permissions; 148 std::shared_ptr<Admin> admin = std::make_shared<Admin>(abilityInfo, AdminType::NORMAL, entInfo, permissions, true); 149 std::string parentAdminName = admin->GetParentAdminName(); 150 ASSERT_TRUE(parentAdminName.empty()); 151 } 152 153 /** 154 * @tc.name: TestGetParentAdminNameWithUnknownAdmin 155 * @tc.desc: Test AdminManager::GetParentAdminName. 156 * @tc.type: FUNC 157 */ 158 HWTEST_F(AdminTest, TestGetParentAdminNameWithUnknownAdmin, TestSize.Level1) 159 { 160 AppExecFwk::ExtensionAbilityInfo abilityInfo; 161 EntInfo entInfo; 162 std::vector<std::string> permissions; 163 std::shared_ptr<Admin> admin = std::make_shared<Admin>(abilityInfo, AdminType::UNKNOWN, entInfo, permissions, true); 164 std::string parentAdminName = admin->GetParentAdminName(); 165 ASSERT_TRUE(parentAdminName.empty()); 166 } 167 } // namespace TEST 168 } // namespace EDM 169 } // namespace OHOS