1 /* 2 * Copyright (c) 2022-2023 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 #ifndef EDM_UNIT_TEST_PLUGIN_MANAGER_TEST_H 17 #define EDM_UNIT_TEST_PLUGIN_MANAGER_TEST_H 18 19 #include <gtest/gtest.h> 20 #include <iremote_object.h> 21 #include "edm_log.h" 22 #include "iplugin.h" 23 24 namespace OHOS { 25 namespace EDM { 26 namespace TEST { 27 class TestPlugin : public IPlugin { 28 public: TestPlugin()29 TestPlugin() 30 { 31 policyCode_ = 0; 32 policyName_ = "TestPlugin"; 33 permissionConfig_.typePermissions[IPlugin::PermissionType::NORMAL_DEVICE_ADMIN] = 34 "ohos.permission.EDM_TEST_PERMISSION"; 35 permissionConfig_.apiType = IPlugin::ApiType::PUBLIC; 36 EDMLOGD("TestPlugin constructor"); 37 } 38 OnHandlePolicy(std::uint32_t funcCode,MessageParcel & data,MessageParcel & reply,HandlePolicyData & policyData,int32_t userId)39 ErrCode OnHandlePolicy(std::uint32_t funcCode, MessageParcel &data, MessageParcel &reply, 40 HandlePolicyData &policyData, int32_t userId) override 41 { 42 return ERR_OK; 43 } 44 GetOthersMergePolicyData(const std::string & adminName,std::string & policyData)45 ErrCode GetOthersMergePolicyData(const std::string &adminName, std::string &policyData) override 46 { 47 return IPlugin::GetOthersMergePolicyData(adminName, policyData); 48 } 49 OnHandlePolicyDone(std::uint32_t funcCode,const std::string & adminName,bool isGlobalChanged,int32_t userId)50 void OnHandlePolicyDone(std::uint32_t funcCode, const std::string &adminName, bool isGlobalChanged, 51 int32_t userId) override {} 52 OnAdminRemove(const std::string & adminName,const std::string & policyData,const std::string & mergeData,int32_t userId)53 ErrCode OnAdminRemove(const std::string &adminName, const std::string &policyData, const std::string &mergeData, 54 int32_t userId) override 55 { 56 return ERR_OK; 57 } 58 OnAdminRemoveDone(const std::string & adminName,const std::string & policyData,int32_t userId)59 void OnAdminRemoveDone(const std::string &adminName, const std::string &policyData, int32_t userId) override {} 60 WritePolicyToParcel(const std::string & policyData,MessageParcel & reply)61 ErrCode WritePolicyToParcel(const std::string &policyData, MessageParcel &reply) override 62 { 63 return IPlugin::WritePolicyToParcel(policyData, reply); 64 } 65 OnGetPolicy(std::string & policyData,MessageParcel & data,MessageParcel & reply,int32_t userId)66 ErrCode OnGetPolicy(std::string &policyData, MessageParcel &data, MessageParcel &reply, int32_t userId) 67 { 68 return ERR_OK; 69 } 70 71 ~TestPlugin() override = default; 72 }; 73 74 class TestExtensionPlugin : public IPlugin { 75 public: TestExtensionPlugin()76 TestExtensionPlugin() 77 { 78 policyCode_ = 1; 79 policyName_ = "TestExtensionPlugin"; 80 permissionConfig_.typePermissions.clear(); 81 permissionConfig_.typePermissions.emplace(IPlugin::PermissionType::NORMAL_DEVICE_ADMIN, 82 "ohos.permission.EDM_TEST_PERMISSION"); 83 permissionConfig_.apiType = IPlugin::ApiType::PUBLIC; 84 EDMLOGD("TestExtensionPlugin constructor"); 85 } 86 OnHandlePolicy(std::uint32_t funcCode,MessageParcel & data,MessageParcel & reply,HandlePolicyData & policyData,int32_t userId)87 ErrCode OnHandlePolicy(std::uint32_t funcCode, MessageParcel &data, MessageParcel &reply, 88 HandlePolicyData &policyData, int32_t userId) override 89 { 90 return ERR_OK; 91 } 92 GetOthersMergePolicyData(const std::string & adminName,std::string & policyData)93 ErrCode GetOthersMergePolicyData(const std::string &adminName, std::string &policyData) override 94 { 95 return IPlugin::GetOthersMergePolicyData(adminName, policyData); 96 } 97 OnHandlePolicyDone(std::uint32_t funcCode,const std::string & adminName,bool isGlobalChanged,int32_t userId)98 void OnHandlePolicyDone(std::uint32_t funcCode, const std::string &adminName, bool isGlobalChanged, 99 int32_t userId) override {} 100 OnAdminRemove(const std::string & adminName,const std::string & policyData,const std::string & mergeData,int32_t userId)101 ErrCode OnAdminRemove(const std::string &adminName, const std::string &policyData, const std::string &mergeData, 102 int32_t userId) override 103 { 104 return ERR_OK; 105 } 106 OnAdminRemoveDone(const std::string & adminName,const std::string & policyData,int32_t userId)107 void OnAdminRemoveDone(const std::string &adminName, const std::string &policyData, int32_t userId) override {} 108 WritePolicyToParcel(const std::string & policyData,MessageParcel & reply)109 ErrCode WritePolicyToParcel(const std::string &policyData, MessageParcel &reply) override 110 { 111 return IPlugin::WritePolicyToParcel(policyData, reply); 112 } 113 OnGetPolicy(std::string & policyData,MessageParcel & data,MessageParcel & reply,int32_t userId)114 ErrCode OnGetPolicy(std::string &policyData, MessageParcel &data, MessageParcel &reply, int32_t userId) 115 { 116 return ERR_OK; 117 } 118 119 ~TestExtensionPlugin() override = default; 120 }; 121 122 class PluginManagerTest : public testing::Test { 123 protected: 124 virtual void SetUp() override; 125 126 virtual void TearDown() override; 127 }; 128 } // namespace TEST 129 } // namespace EDM 130 } // namespace OHOS 131 #endif // EDM_UNIT_TEST_PLUGIN_MANAGER_TEST_H 132