1# Copyright (c) 2022-2024 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/test.gni") 15import("../../../../common/config/common.gni") 16 17module_output_path = "enterprise_device_management/enterprise_device_management" 18 19config("module_private_config") { 20 visibility = [ ":*" ] 21 include_dirs = [ "../" ] 22} 23 24config("edm_config") { 25 visibility = [ ":*" ] 26 include_dirs = [ 27 "../../../../services/edm/include", 28 "../../../../services/edm/include/connection", 29 "../../../../services/edm/include/database", 30 "../../../../services/edm/include/persistent_plugin/watermark", 31 "../../../../services/edm/include/query_policy", 32 "../../../../services/edm/include/strategy", 33 "../../../../services/edm_plugin/include", 34 "../../../../services/edm_plugin/include/utils", 35 "../../../../framework/extension/include", 36 ] 37} 38 39ohos_static_library("edmservice_static") { 40 testonly = true 41 sources = [ 42 "../../../../services/edm/src/admin.cpp", 43 "../../../../services/edm/src/admin_manager.cpp", 44 "../../../../services/edm/src/admin_policies_storage_rdb.cpp", 45 "../../../../services/edm/src/application_state_observer.cpp", 46 "../../../../services/edm/src/clipboard_utils.cpp", 47 "../../../../services/edm/src/connection/enterprise_account_connection.cpp", 48 "../../../../services/edm/src/connection/enterprise_admin_connection.cpp", 49 "../../../../services/edm/src/connection/enterprise_admin_proxy.cpp", 50 "../../../../services/edm/src/connection/enterprise_bundle_connection.cpp", 51 "../../../../services/edm/src/connection/enterprise_conn_manager.cpp", 52 "../../../../services/edm/src/connection/enterprise_update_connection.cpp", 53 "../../../../services/edm/src/database/edm_rdb_data_manager.cpp", 54 "../../../../services/edm/src/database/edm_rdb_open_callback.cpp", 55 "../../../../services/edm/src/device_policies_storage_rdb.cpp", 56 "../../../../services/edm/src/enterprise_device_mgr_ability.cpp", 57 "../../../../services/edm/src/enterprise_device_mgr_stub.cpp", 58 "../../../../services/edm/src/permission_checker.cpp", 59 "../../../../services/edm/src/permission_manager.cpp", 60 "../../../../services/edm/src/plugin_manager.cpp", 61 "../../../../services/edm/src/policy_manager.cpp", 62 "../../../../services/edm/src/query_policy/allowed_install_bundles_query.cpp", 63 "../../../../services/edm/src/query_policy/disallow_modify_datetime_query.cpp", 64 "../../../../services/edm/src/query_policy/disallowed_install_bundles_query.cpp", 65 "../../../../services/edm/src/query_policy/disallowed_tethering_query.cpp", 66 "../../../../services/edm/src/query_policy/disallowed_uninstall_bundles_query.cpp", 67 "../../../../services/edm/src/query_policy/get_device_encryption_status_query.cpp", 68 "../../../../services/edm/src/query_policy/get_display_version_query.cpp", 69 "../../../../services/edm/src/query_policy/get_security_patch_tag_query.cpp", 70 "../../../../services/edm/src/query_policy/inactive_user_freeze_query.cpp", 71 "../../../../services/edm/src/query_policy/ipolicy_query.cpp", 72 "../../../../services/edm/src/query_policy/ntp_server_query.cpp", 73 "../../../../services/edm/src/query_policy/password_policy_query.cpp", 74 "../../../../services/edm/src/query_policy/plugin_policy_reader.cpp", 75 "../../../../services/edm/src/query_policy/snapshot_skip_query.cpp", 76 "../../../../services/edm/src/strategy/enhance_execute_strategy.cpp", 77 "../../../../services/edm/src/strategy/replace_execute_strategy.cpp", 78 "../../../../services/edm/src/strategy/single_execute_strategy.cpp", 79 "../../../../services/edm/src/user_policy_manager.cpp", 80 "../../../../services/edm_plugin/src/utils/usb_policy_utils.cpp", 81 ] 82 83 public_configs = [ 84 ":edm_config", 85 "../../../../common/config:coverage_flags", 86 ] 87 88 defines = [] 89 90 if (target_cpu == "arm64") { 91 defines += [ "_ARM64_" ] 92 print("defines _ARM64_") 93 } 94 95 if (target_cpu == "x86_64") { 96 defines += [ "_X86_64_" ] 97 print("defines _X86_64_") 98 } 99 100 if (wifi_edm_enable) { 101 sources += [ 102 "../../../../services/edm/src/query_policy/set_wifi_disabled_query.cpp", 103 ] 104 } 105 106 if (drivers_interface_usb_edm_enable && storage_service_edm_enable && 107 usb_manager_edm_enable) { 108 sources += 109 [ "../../../../services/edm/src/query_policy/usb_read_only_query.cpp" ] 110 } 111 112 if (location_edm_enable) { 113 sources += [ 114 "../../../../services/edm/src/query_policy/location_policy_query.cpp", 115 ] 116 } 117 118 if (useriam_edm_enable) { 119 sources += [ 120 "../../../../services/edm/src/query_policy/fingerprint_auth_query.cpp", 121 ] 122 } 123 124 if (ability_runtime_edm_enable) { 125 sources += [ "../../../../services/edm/src/query_policy/disallowed_running_bundles_query.cpp" ] 126 } 127 128 if (bluetooth_edm_enable) { 129 sources += [ 130 "../../../../services/edm/src/query_policy/allowed_bluetooth_devices_query.cpp", 131 "../../../../services/edm/src/query_policy/disable_bluetooth_query.cpp", 132 ] 133 } 134 135 if (camera_framework_edm_enable) { 136 sources += 137 [ "../../../../services/edm/src/query_policy/disable_camera_query.cpp" ] 138 } 139 140 if (audio_framework_edm_enable) { 141 sources += [ 142 "../../../../services/edm/src/query_policy/disable_hdc_query.cpp", 143 "../../../../services/edm/src/query_policy/disable_microphone_query.cpp", 144 "../../../../services/edm/src/query_policy/disable_printer_query.cpp", 145 ] 146 } 147 148 if (drivers_interface_usb_edm_enable && usb_manager_edm_enable) { 149 sources += [ 150 "../../../../services/edm/src/query_policy/allowed_usb_devices_query.cpp", 151 "../../../../services/edm/src/query_policy/disable_usb_query.cpp", 152 ] 153 } 154 155 if (pasteboard_edm_enable) { 156 sources += [ 157 "../../../../services/edm/src/query_policy/clipboard_policy_query.cpp", 158 ] 159 } 160 161 if (common_event_service_edm_enable) { 162 defines += [ "COMMON_EVENT_SERVICE_EDM_ENABLE" ] 163 sources += [ "../../../../services/edm/src/query_policy/set_browser_policies_query.cpp" ] 164 } 165 166 external_deps = [ 167 "ability_base:want", 168 "ability_runtime:app_manager", 169 "ability_runtime:extension_manager", 170 "access_token:libaccesstoken_sdk", 171 "access_token:libtokenid_sdk", 172 "bundle_framework:appexecfwk_base", 173 "cJSON:cjson", 174 "c_utils:utils", 175 "common_event_service:cesfwk_innerkits", 176 "file_api:securitylabel", 177 "graphic_2d:librender_service_client", 178 "hilog:libhilog", 179 "init:libbegetutil", 180 "ipc:ipc_core", 181 "jsoncpp:jsoncpp", 182 "pasteboard:pasteboard_client", 183 "relational_store:native_rdb", 184 "safwk:system_ability_fwk", 185 "samgr:samgr_proxy", 186 "window_manager:libwm", 187 "window_manager:sms", 188 ] 189 190 if (os_account_edm_enable) { 191 external_deps += [ 192 "os_account:libaccountkits", 193 "os_account:os_account_innerkits", 194 ] 195 196 sources += [ 197 "../../../../services/edm/src/persistent_plugin/watermark/set_watermark_image_plugin.cpp", 198 "../../../../services/edm/src/persistent_plugin/watermark/watermark_application_observer.cpp", 199 "../../../../services/edm/src/persistent_plugin/watermark/watermark_image_serializer.cpp", 200 "../../../../services/edm/src/query_policy/disable_mtp_client_query.cpp", 201 "../../../../services/edm/src/query_policy/disable_mtp_server_query.cpp", 202 "../../../../services/edm/src/query_policy/disallow_add_local_account_query.cpp", 203 ] 204 } 205 206 if (drivers_interface_usb_edm_enable && usb_manager_edm_enable) { 207 external_deps += [ "usb_manager:usbsrv_client" ] 208 } 209 210 deps = [ 211 "../../../../common/external:edm_external_adapters", 212 "../../../../common/native:edm_commom", 213 "../../../../interfaces/inner_api:edmservice_kits", 214 "../../../../interfaces/inner_api/plugin_kits:plugin_kits", 215 ] 216 217 sanitize = { 218 boundary_sanitize = true 219 cfi = true 220 cfi_cross_dso = true 221 debug = false 222 integer_overflow = true 223 ubsan = true 224 } 225 branch_protector_ret = "pac_ret" 226 subsystem_name = "customization" 227 part_name = "enterprise_device_management" 228} 229 230ohos_unittest("EdmServicesUnitTest") { 231 module_out_path = module_output_path 232 233 include_dirs = [ 234 "./include", 235 "./include/mock", 236 "../../common/mock/include", 237 "../../external_mock/include", 238 "../../../../interfaces/inner_api/plugin_kits/include/utils", 239 ] 240 241 sources = [ 242 "./src/admin_manager_test.cpp", 243 "./src/admin_test.cpp", 244 "./src/clipboard_utils_test.cpp", 245 "./src/device_policies_storage_rdb_test.cpp", 246 "./src/enhance_execute_strategy_test.cpp", 247 "./src/enterprise_account_connection_test.cpp", 248 "./src/enterprise_admin_connection_test.cpp", 249 "./src/enterprise_bundle_connection_test.cpp", 250 "./src/enterprise_conn_manager_test.cpp", 251 "./src/enterprise_device_mgr_ability_test.cpp", 252 "./src/enterprise_update_connection_test.cpp", 253 "./src/iplugin_template_test.cpp", 254 "./src/permission_checker_test.cpp", 255 "./src/permission_manager_test.cpp", 256 "./src/plugin_manager_test.cpp", 257 "./src/plugin_policy_query_test.cpp", 258 "./src/policy_manager_test.cpp", 259 "./src/replace_execute_strategy_test.cpp", 260 "./src/single_execute_strategy_test.cpp", 261 "./src/user_policy_manager_test.cpp", 262 ] 263 264 defines = [] 265 if (common_event_service_edm_enable) { 266 defines += [ "COMMON_EVENT_SERVICE_EDM_ENABLE" ] 267 } 268 269 configs = [ 270 ":module_private_config", 271 "../../../../common/config:coverage_flags", 272 ] 273 274 deps = [ 275 ":edmservice_static", 276 "../../../../common/external:edm_external_adapters", 277 "../../../../common/native:edm_commom", 278 "../../../../interfaces/inner_api:edmservice_kits", 279 "../../../../interfaces/inner_api/plugin_kits:plugin_kits", 280 "../../utils:edm_unittest_utils", 281 ] 282 283 external_deps = [ 284 "ability_base:want", 285 "ability_runtime:ability_manager", 286 "access_token:libaccesstoken_sdk", 287 "access_token:libnativetoken", 288 "access_token:libtoken_setproc", 289 "bundle_framework:appexecfwk_core", 290 "cJSON:cjson", 291 "c_utils:utils", 292 "common_event_service:cesfwk_innerkits", 293 "file_api:securitylabel", 294 "googletest:gmock_main", 295 "hilog:libhilog", 296 "ipc:ipc_core", 297 "jsoncpp:jsoncpp", 298 "safwk:system_ability_fwk", 299 "samgr:samgr_proxy", 300 "window_manager:sms", 301 ] 302 303 if (os_account_edm_enable) { 304 external_deps += [ 305 "os_account:libaccountkits", 306 "os_account:os_account_innerkits", 307 ] 308 defines += [ "OS_ACCOUNT_EDM_ENABLE" ] 309 } 310 311 sanitize = { 312 boundary_sanitize = true 313 cfi = true 314 cfi_cross_dso = true 315 debug = false 316 integer_overflow = true 317 ubsan = true 318 blocklist = "../../cfi_blocklist.txt" 319 } 320 branch_protector_ret = "pac_ret" 321 subsystem_name = "customization" 322 part_name = "enterprise_device_management" 323} 324 325group("unittest") { 326 testonly = true 327 328 deps = [ 329 # deps file 330 ":EdmServicesUnitTest", 331 ] 332} 333