1f7a47986Sopenharmony_ci# Copyright (c) 2022-2024 Huawei Device Co., Ltd. 2f7a47986Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3f7a47986Sopenharmony_ci# you may not use this file except in compliance with the License. 4f7a47986Sopenharmony_ci# You may obtain a copy of the License at 5f7a47986Sopenharmony_ci# 6f7a47986Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7f7a47986Sopenharmony_ci# 8f7a47986Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9f7a47986Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10f7a47986Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11f7a47986Sopenharmony_ci# See the License for the specific language governing permissions and 12f7a47986Sopenharmony_ci# limitations under the License. 13f7a47986Sopenharmony_ci 14f7a47986Sopenharmony_ciimport("//build/test.gni") 15f7a47986Sopenharmony_ciimport("../../../../common/config/common.gni") 16f7a47986Sopenharmony_ci 17f7a47986Sopenharmony_cimodule_output_path = "enterprise_device_management/enterprise_device_management" 18f7a47986Sopenharmony_ci 19f7a47986Sopenharmony_ciconfig("module_private_config") { 20f7a47986Sopenharmony_ci visibility = [ ":*" ] 21f7a47986Sopenharmony_ci include_dirs = [ "../" ] 22f7a47986Sopenharmony_ci} 23f7a47986Sopenharmony_ci 24f7a47986Sopenharmony_ciconfig("edm_config") { 25f7a47986Sopenharmony_ci visibility = [ ":*" ] 26f7a47986Sopenharmony_ci include_dirs = [ 27f7a47986Sopenharmony_ci "../../../../services/edm/include", 28f7a47986Sopenharmony_ci "../../../../services/edm/include/connection", 29f7a47986Sopenharmony_ci "../../../../services/edm/include/database", 30f7a47986Sopenharmony_ci "../../../../services/edm/include/strategy", 31f7a47986Sopenharmony_ci "../../../../services/edm_plugin/include", 32f7a47986Sopenharmony_ci "../../../../services/edm_plugin/include/utils", 33f7a47986Sopenharmony_ci "../../../../framework/extension/include", 34f7a47986Sopenharmony_ci ] 35f7a47986Sopenharmony_ci} 36f7a47986Sopenharmony_ci 37f7a47986Sopenharmony_ciohos_static_library("edmservice_static") { 38f7a47986Sopenharmony_ci testonly = true 39f7a47986Sopenharmony_ci sources = [ 40f7a47986Sopenharmony_ci "../../../../services/edm/src/admin.cpp", 41f7a47986Sopenharmony_ci "../../../../services/edm/src/admin_manager.cpp", 42f7a47986Sopenharmony_ci "../../../../services/edm/src/admin_policies_storage_rdb.cpp", 43f7a47986Sopenharmony_ci "../../../../services/edm/src/application_state_observer.cpp", 44f7a47986Sopenharmony_ci "../../../../services/edm/src/connection/enterprise_admin_connection.cpp", 45f7a47986Sopenharmony_ci "../../../../services/edm/src/connection/enterprise_admin_proxy.cpp", 46f7a47986Sopenharmony_ci "../../../../services/edm/src/connection/enterprise_bundle_connection.cpp", 47f7a47986Sopenharmony_ci "../../../../services/edm/src/connection/enterprise_conn_manager.cpp", 48f7a47986Sopenharmony_ci "../../../../services/edm/src/connection/enterprise_update_connection.cpp", 49f7a47986Sopenharmony_ci "../../../../services/edm/src/database/edm_rdb_data_manager.cpp", 50f7a47986Sopenharmony_ci "../../../../services/edm/src/database/edm_rdb_open_callback.cpp", 51f7a47986Sopenharmony_ci "../../../../services/edm/src/device_policies_storage_rdb.cpp", 52f7a47986Sopenharmony_ci "../../../../services/edm/src/enterprise_device_mgr_ability.cpp", 53f7a47986Sopenharmony_ci "../../../../services/edm/src/enterprise_device_mgr_stub.cpp", 54f7a47986Sopenharmony_ci "../../../../services/edm/src/permission_manager.cpp", 55f7a47986Sopenharmony_ci "../../../../services/edm/src/plugin_manager.cpp", 56f7a47986Sopenharmony_ci "../../../../services/edm/src/policy_manager.cpp", 57f7a47986Sopenharmony_ci "../../../../services/edm/src/strategy/enhance_execute_strategy.cpp", 58f7a47986Sopenharmony_ci "../../../../services/edm/src/strategy/replace_execute_strategy.cpp", 59f7a47986Sopenharmony_ci "../../../../services/edm/src/strategy/single_execute_strategy.cpp", 60f7a47986Sopenharmony_ci "../../../../services/edm/src/super_admin.cpp", 61f7a47986Sopenharmony_ci "../../../../services/edm/src/user_policy_manager.cpp", 62f7a47986Sopenharmony_ci "../../../../services/edm_plugin/src/utils/clipboard_policy_serializer.cpp", 63f7a47986Sopenharmony_ci "../../../../services/edm_plugin/src/utils/clipboard_utils.cpp", 64f7a47986Sopenharmony_ci "../../../../services/edm_plugin/src/utils/fingerprint_policy_serializer.cpp", 65f7a47986Sopenharmony_ci "../../../../services/edm_plugin/src/utils/password_policy_serializer.cpp", 66f7a47986Sopenharmony_ci ] 67f7a47986Sopenharmony_ci 68f7a47986Sopenharmony_ci public_configs = [ 69f7a47986Sopenharmony_ci ":edm_config", 70f7a47986Sopenharmony_ci "../../../../common/config:coverage_flags", 71f7a47986Sopenharmony_ci ] 72f7a47986Sopenharmony_ci 73f7a47986Sopenharmony_ci defines = [] 74f7a47986Sopenharmony_ci 75f7a47986Sopenharmony_ci if (target_cpu == "arm64") { 76f7a47986Sopenharmony_ci defines += [ "_ARM64_" ] 77f7a47986Sopenharmony_ci print("defines _ARM64_") 78f7a47986Sopenharmony_ci } 79f7a47986Sopenharmony_ci 80f7a47986Sopenharmony_ci if (target_cpu == "x86_64") { 81f7a47986Sopenharmony_ci defines += [ "_X86_64_" ] 82f7a47986Sopenharmony_ci print("defines _X86_64_") 83f7a47986Sopenharmony_ci } 84f7a47986Sopenharmony_ci 85f7a47986Sopenharmony_ci if (common_event_service_edm_enable) { 86f7a47986Sopenharmony_ci defines += [ "COMMON_EVENT_SERVICE_EDM_ENABLE" ] 87f7a47986Sopenharmony_ci } 88f7a47986Sopenharmony_ci 89f7a47986Sopenharmony_ci external_deps = [ 90f7a47986Sopenharmony_ci "ability_base:want", 91f7a47986Sopenharmony_ci "ability_runtime:app_manager", 92f7a47986Sopenharmony_ci "ability_runtime:extension_manager", 93f7a47986Sopenharmony_ci "access_token:libaccesstoken_sdk", 94f7a47986Sopenharmony_ci "access_token:libtokenid_sdk", 95f7a47986Sopenharmony_ci "bundle_framework:appexecfwk_base", 96f7a47986Sopenharmony_ci "cJSON:cjson", 97f7a47986Sopenharmony_ci "c_utils:utils", 98f7a47986Sopenharmony_ci "common_event_service:cesfwk_innerkits", 99f7a47986Sopenharmony_ci "hilog:libhilog", 100f7a47986Sopenharmony_ci "init:libbegetutil", 101f7a47986Sopenharmony_ci "ipc:ipc_core", 102f7a47986Sopenharmony_ci "jsoncpp:jsoncpp", 103f7a47986Sopenharmony_ci "pasteboard:pasteboard_client", 104f7a47986Sopenharmony_ci "relational_store:native_rdb", 105f7a47986Sopenharmony_ci "safwk:system_ability_fwk", 106f7a47986Sopenharmony_ci "window_manager:sms", 107f7a47986Sopenharmony_ci ] 108f7a47986Sopenharmony_ci 109f7a47986Sopenharmony_ci if (os_account_edm_enable) { 110f7a47986Sopenharmony_ci external_deps += [ 111f7a47986Sopenharmony_ci "os_account:libaccountkits", 112f7a47986Sopenharmony_ci "os_account:os_account_innerkits", 113f7a47986Sopenharmony_ci ] 114f7a47986Sopenharmony_ci } 115f7a47986Sopenharmony_ci 116f7a47986Sopenharmony_ci deps = [ 117f7a47986Sopenharmony_ci "../../../../common/external:edm_external_adapters", 118f7a47986Sopenharmony_ci "../../../../common/native:edm_commom", 119f7a47986Sopenharmony_ci "../../../../interfaces/inner_api:edmservice_kits", 120f7a47986Sopenharmony_ci "../../../../interfaces/inner_api/plugin_kits:plugin_kits", 121f7a47986Sopenharmony_ci ] 122f7a47986Sopenharmony_ci 123f7a47986Sopenharmony_ci sanitize = { 124f7a47986Sopenharmony_ci boundary_sanitize = true 125f7a47986Sopenharmony_ci cfi = true 126f7a47986Sopenharmony_ci cfi_cross_dso = true 127f7a47986Sopenharmony_ci debug = false 128f7a47986Sopenharmony_ci integer_overflow = true 129f7a47986Sopenharmony_ci ubsan = true 130f7a47986Sopenharmony_ci } 131f7a47986Sopenharmony_ci branch_protector_ret = "pac_ret" 132f7a47986Sopenharmony_ci subsystem_name = "customization" 133f7a47986Sopenharmony_ci part_name = "enterprise_device_management" 134f7a47986Sopenharmony_ci} 135f7a47986Sopenharmony_ci 136f7a47986Sopenharmony_ciohos_unittest("EdmServicesUnitTest") { 137f7a47986Sopenharmony_ci module_out_path = module_output_path 138f7a47986Sopenharmony_ci 139f7a47986Sopenharmony_ci include_dirs = [ 140f7a47986Sopenharmony_ci "./include", 141f7a47986Sopenharmony_ci "./include/mock", 142f7a47986Sopenharmony_ci "../../common/mock/include", 143f7a47986Sopenharmony_ci "../../external_mock/include", 144f7a47986Sopenharmony_ci "../../../../interfaces/inner_api/plugin_kits/include/utils", 145f7a47986Sopenharmony_ci ] 146f7a47986Sopenharmony_ci 147f7a47986Sopenharmony_ci sources = [ 148f7a47986Sopenharmony_ci "./src/admin_manager_test.cpp", 149f7a47986Sopenharmony_ci "./src/admin_test.cpp", 150f7a47986Sopenharmony_ci "./src/device_policies_storage_rdb_test.cpp", 151f7a47986Sopenharmony_ci "./src/enhance_execute_strategy_test.cpp", 152f7a47986Sopenharmony_ci "./src/enterprise_admin_connection_test.cpp", 153f7a47986Sopenharmony_ci "./src/enterprise_bundle_connection_test.cpp", 154f7a47986Sopenharmony_ci "./src/enterprise_conn_manager_test.cpp", 155f7a47986Sopenharmony_ci "./src/enterprise_device_mgr_ability_test.cpp", 156f7a47986Sopenharmony_ci "./src/enterprise_update_connection_test.cpp", 157f7a47986Sopenharmony_ci "./src/iplugin_template_test.cpp", 158f7a47986Sopenharmony_ci "./src/permission_manager_test.cpp", 159f7a47986Sopenharmony_ci "./src/plugin_manager_test.cpp", 160f7a47986Sopenharmony_ci "./src/policy_manager_test.cpp", 161f7a47986Sopenharmony_ci "./src/replace_execute_strategy_test.cpp", 162f7a47986Sopenharmony_ci "./src/single_execute_strategy_test.cpp", 163f7a47986Sopenharmony_ci "./src/user_policy_manager_test.cpp", 164f7a47986Sopenharmony_ci ] 165f7a47986Sopenharmony_ci 166f7a47986Sopenharmony_ci defines = [] 167f7a47986Sopenharmony_ci if (common_event_service_edm_enable) { 168f7a47986Sopenharmony_ci defines += [ "COMMON_EVENT_SERVICE_EDM_ENABLE" ] 169f7a47986Sopenharmony_ci } 170f7a47986Sopenharmony_ci 171f7a47986Sopenharmony_ci configs = [ 172f7a47986Sopenharmony_ci ":module_private_config", 173f7a47986Sopenharmony_ci "../../../../common/config:coverage_flags", 174f7a47986Sopenharmony_ci ] 175f7a47986Sopenharmony_ci 176f7a47986Sopenharmony_ci deps = [ 177f7a47986Sopenharmony_ci ":edmservice_static", 178f7a47986Sopenharmony_ci "../../../../common/external:edm_external_adapters", 179f7a47986Sopenharmony_ci "../../../../common/native:edm_commom", 180f7a47986Sopenharmony_ci "../../../../interfaces/inner_api:edmservice_kits", 181f7a47986Sopenharmony_ci "../../../../interfaces/inner_api/plugin_kits:plugin_kits", 182f7a47986Sopenharmony_ci "../../utils:edm_unittest_utils", 183f7a47986Sopenharmony_ci "//third_party/googletest:gmock_main", 184f7a47986Sopenharmony_ci ] 185f7a47986Sopenharmony_ci 186f7a47986Sopenharmony_ci external_deps = [ 187f7a47986Sopenharmony_ci "ability_base:want", 188f7a47986Sopenharmony_ci "ability_runtime:ability_manager", 189f7a47986Sopenharmony_ci "access_token:libaccesstoken_sdk", 190f7a47986Sopenharmony_ci "access_token:libnativetoken", 191f7a47986Sopenharmony_ci "access_token:libtoken_setproc", 192f7a47986Sopenharmony_ci "bundle_framework:appexecfwk_core", 193f7a47986Sopenharmony_ci "cJSON:cjson", 194f7a47986Sopenharmony_ci "c_utils:utils", 195f7a47986Sopenharmony_ci "common_event_service:cesfwk_innerkits", 196f7a47986Sopenharmony_ci "hilog:libhilog", 197f7a47986Sopenharmony_ci "ipc:ipc_core", 198f7a47986Sopenharmony_ci "jsoncpp:jsoncpp", 199f7a47986Sopenharmony_ci "safwk:system_ability_fwk", 200f7a47986Sopenharmony_ci "samgr:samgr_proxy", 201f7a47986Sopenharmony_ci "window_manager:sms", 202f7a47986Sopenharmony_ci ] 203f7a47986Sopenharmony_ci 204f7a47986Sopenharmony_ci if (os_account_edm_enable) { 205f7a47986Sopenharmony_ci external_deps += [ 206f7a47986Sopenharmony_ci "os_account:libaccountkits", 207f7a47986Sopenharmony_ci "os_account:os_account_innerkits", 208f7a47986Sopenharmony_ci ] 209f7a47986Sopenharmony_ci defines += [ "OS_ACCOUNT_EDM_ENABLE" ] 210f7a47986Sopenharmony_ci } 211f7a47986Sopenharmony_ci 212f7a47986Sopenharmony_ci sanitize = { 213f7a47986Sopenharmony_ci boundary_sanitize = true 214f7a47986Sopenharmony_ci cfi = true 215f7a47986Sopenharmony_ci cfi_cross_dso = true 216f7a47986Sopenharmony_ci debug = false 217f7a47986Sopenharmony_ci integer_overflow = true 218f7a47986Sopenharmony_ci ubsan = true 219f7a47986Sopenharmony_ci blocklist = "../../cfi_blocklist.txt" 220f7a47986Sopenharmony_ci } 221f7a47986Sopenharmony_ci branch_protector_ret = "pac_ret" 222f7a47986Sopenharmony_ci subsystem_name = "customization" 223f7a47986Sopenharmony_ci part_name = "enterprise_device_management" 224f7a47986Sopenharmony_ci} 225f7a47986Sopenharmony_ci 226f7a47986Sopenharmony_cigroup("unittest") { 227f7a47986Sopenharmony_ci testonly = true 228f7a47986Sopenharmony_ci 229f7a47986Sopenharmony_ci deps = [ 230f7a47986Sopenharmony_ci # deps file 231f7a47986Sopenharmony_ci ":EdmServicesUnitTest", 232f7a47986Sopenharmony_ci ] 233f7a47986Sopenharmony_ci} 234