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